0)程序的运行效果应类似地如图1" />

成都信息工程学院C语言考试题及答案

成都信息工程学院C语言考试题及答案
成都信息工程学院C语言考试题及答案

编写一程序P111.C实现以下功能

x(x只考虑整数int且必须定义为int、但F(x)完全可能超过int的表示范围)通过键盘输入(输入前给出提示Please input x:),然后计算并在屏幕上输出函数值。编程可用素材:printf("Please input x: ")...、printf("\nF(...) = ..."...。

┌-5x+27 (x<0)

F(x)= ├7909 (x=0)

└2x-1 (x>0)

程序的运行效果应类似地如图1所示,图1中的3是从键盘输入的内容。#include

int main(void)

{

int x; //x存储自变量x的值

double Fx; //Fx存储函数值F(x)

/* 从键盘上读入x的值*/

printf("Please input x:"); //在屏幕上显示提示输入x的信息,告诉用户需要做的事

scanf("%d", &x); //从键盘读入x的值

/* 根据题目里给出的计算公式计算F(x) */

if (x < 0) //如果x<0

{

Fx = -5.0 * x + 27; //x<0时的F(x)计算公式

}

else if (0 == x) //否则,若x等于0

{

Fx = 7909; //x=0时的F(x)计算公式

}

else

{

Fx = 2.0 * x - 1; //x>0时的F(x)计算公式

}

/* 将计算结果按题目的要求输出*/

printf("\nF(%d) = %.0f", x, Fx);

return 0;

}

编写一程序P113.C实现以下功能

已知某银行整存整取存款不同期限的年息利率分别为:3.15%期限一年,3. 63%期限二年, 4.02%期限三年,4.69%期限五年,5.36%期限八年。从键盘上输入存钱的本金(以元为单位,必须定义为int且应考虑金额很大的情况)和存款期限(只考虑1,2,3,5,8),求到期时能从银行得到的利息(以元为单位,应考虑有小数,不计复利)。编程可用素材:printf("\nPlease input benjin,cunqi:")...、print f("\nlixi = ... yuan"...。

程序的运行效果应类似地如图1所示,图1中的10000,8是从键盘输入的内容。

#include

int main(void)

{

int benjin, cunqi;

double lixi, lilv;

printf("\nPlease input benjin,cunqi:");

scanf("%d,%d", &benjin, &cunqi);

if (1 == cunqi)

{

lilv = 3.15 / 100.0;

}

else if (2 == cunqi)

{

lilv = 3.63 / 100.0;

}

else if (3 == cunqi)

{

lilv = 4.02 / 100.0;

}

else if (5 == cunqi)

{

lilv = 4.69 / 100.0;

}

else if (8 == cunqi)

{

lilv = 5.36 / 100.0;

}

lixi = benjin * lilv * cunqi;

printf("\nlixi = %.2f yuan\n", lixi);

return 0;

}

编写一程序P114.C实现以下功能

编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和da ta2是参加运算的两个数(data1、data2必须定义为int,但二者相加可能超出int 能表示的范围),op为运算符,它的取值只能是+、-、*、/、%。编程可用素材:printf("Please input data1 op data2: ")...、printf("\nError! chu shu wei 0.\n")...。

程序的运行效果应类似地如图1、图2、图3、图4所示,图1中的3000 + 2 000、图2中的3000 % 2000、图3中的3000 % 0和图4中的3000 / 0是从键盘输入的内容。

#include

#include

int main(void)

{

int data1, data2;

double result;

char op;

printf("Please input data1 op data2: ");

scanf("%d %c %d", &data1, &op, &data2);

switch (op)

{

case '+':

result = (double)data1 + data2;

break;

case '-':

result = (double)data1 - data2;

break;

case '*':

result = (double)data1 * data2;

break;

case '%':

if (0 == data2)

{

printf("\nError! chu shu wei 0.\n");

exit(1);

}

else

{

result = data1 % data2;

}

break;

case '/':

if (0 == data2)

{

printf("\nError! chu shu wei 0.\n");

exit(1);

}

else

{

printf("\n%d%c%d=%.2f", data1, op, data2, (double)data1 / data2);

return 0;

}

}

printf("\n%d%c%d=%f\n", data1, op, data2, result);

return 0;

}

编写一程序P702.C实现以下功能

输入月份,打印2003年该月有几天。当输入的月份超范围时,应显示“Inv alid month input”。编程可用素材:printf("please input the month number: ")...、printf("\nInvalid month input !\n")...、printf("\n 2003.... has ... days\n"...。

程序的运行效果应类似地如图1和图2所示,图1中的4和图2中的13是从键盘输入的内容。

#include

int main(void)

{

int month, day;

printf("please input the month number: ");

scanf("%d", &month);

switch (month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

day = 31;

break;

case 4:

case 6:

case 9:

case 11:

day = 30;

break;

case 2:

day = 28;

break;

default :

day = -1;

}

if (-1 == day)

{

printf("\nInvalid month input !\n");

}

else

{

printf("\n 2003.%d has %d days\n", month, day);

}

return 0;

}

编写一程序P703.C实现以下功能

已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下(计量单位:元):

profit≤1000没有提成;

1000<profit≤2000提成10%;

2000<profit≤5000提成15%;

5000<profit≤10000提成20%;

10000<profit提成25%。

请根据输入的利润计算员工的薪水。编程可用素材:printf("Input profi t: ")...、printf("\nsalary=...\n"...。

程序的运行效果应类似地如图1所示,图1中的2000是从键盘输入的内容。

#include

int main(void)

{

int profit, grade;

double salary = 500;

printf("Input profit: ");

scanf("%d", &profit);

grade = (profit - 1) / 1000;

switch (grade)

{

case 0:

break;

case 1:

salary += profit * 0.1;

break;

case 2:

case 3:

case 4:

salary += profit * 0.15;

break;

case 5:

case 6:

case 7:

case 8:

case 9:

salary += profit * 0.2;

break;

default:

salary += profit * 0.25;

}

printf("\nsalary=%.2f\n", salary);

return 0;

}

编写一程序P708.C实现以下功能

输入一个三位正整数,然后逆序输出。如输入123,则输出321。编程可用素材:printf("Input an integer: ")...、printf("\nThe result is ...。

程序的运行效果应类似地如图1所示,图1中的750是从键盘输入的内容。#include

int main(void)

{

int num, bai, shi, ge;

printf("Input an integer: ");

scanf("%d", &num);

bai = num / 100;

shi = num % 100 / 10;

ge = num % 10;

printf("\nThe result is %d%d%d\n", ge, shi, bai);

return 0;

}

编写一程序P709.C实现以下功能

输入一个华氏温度,要求输出摄氏温度,计算公式为c=5(F-32)/9。编程可用素材:printf("Input the degree:")...、printf("\nF(...)=C(...)...。

程序的运行效果应类似地如图1所示,图1中的120是从键盘输入的内容。#include

int main(void)

{

float fC, fF=1.0; //fC存放摄氏温度的值,fF存放华氏温度的值

/* 从键盘上读入华氏温度到变量fF中*/

printf("Input the degree:"); //在屏幕上显示提示输入华氏温度的信息,告诉用户需要做的事

scanf("%f", &fF); //从键盘读入华氏温度,存储到变量fF中

/* 按题目里给出的转换公式计算摄氏温度*/

fC = 5.0f / 9 * (fF - 32);

/* 将计算结果按题目的要求输出*/

printf("\nF(%.2f)=C(%.2f)", fF, fC);

return 0;

}

编写一程序P710.C实现以下功能

输入一个小写英文字母,首先输出它及其ASCII码,然后输出其对应的大写字母及其ASCII码。编程可用素材:printf("Input a lowercase letter: ")...、p rintf("\n...(...)...。

程序的运行效果应类似地如图1所示,图1中的y是从键盘输入的内容。

编写一程序P711.C实现以下功能

用scanf输入圆半径r,圆柱高h,求圆周长C1(=2πr)、圆面积S(=πr2)、圆柱体积V(=πr2h)。(注意:本题中规定圆周率取值为3.14)

程序的运行效果应类似地如图1所示,图1中的r=1.3,h=5是从键盘输入的内容。

编写一程序P712.C实现以下功能

判断输入的正整数是否既是5又是7的整倍数,若是,则输出“Y es.”;否则输出“No.”。

程序的运行效果应类似地如图1和图2所示,图1中的75和图2中的105是从键盘输入的内容。

#include

int main(void)

{

int iNum;

printf("Please input an integer:");

scanf("%d", &iNum);

if ( (iNum%5 == 0) && (iNum%7 == 0) )

{

printf("\nYes.");

}

else

{

printf("\nNo.");

}

return 0;

}

编写一程序P713.C实现以下功能

用scanf输入某年某月某日,判断这一天是这一年的第几天?以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份≥3时需考虑多加一天。注:判断年份是否为闰年的方法——为400的倍数为闰年,如2000年;若非100的倍数,而是4的倍数,为闰年,如1996年。编程可用素材:printf("Please input: year-month-day\n")...、printf("\ nIt is the ...th day.\n"...。

程序的运行效果应类似地如图1所示,图1中的2000-3-1是从键盘输入的内容。

#include

int main(void)

{

int day, month, year, sum;

printf("Please input: year-month-day\n");

scanf("%d-%d-%d", &year, &month, &day);

switch (month)

{

case 1:

sum = 0;

break;

case 2:

sum = 31;

break;

case 3:

sum = 59;

break;

case 4:

sum = 90;

break;

case 5:

sum = 120;

break;

case 6:

sum = 151;

break;

case 7:

sum = 181;

break;

case 8:

sum = 212;

break;

case 9:

sum = 243;

break;

case 10:

sum = 273;

break;

case 11:

sum = 304;

break;

case 12:

sum = 334;

break;

default:

printf("data error");

break;

}

sum += day;

if ((year%400==0 || year%4==0 && year%100!=0) && month>2)

{

sum++;

}

printf("\nIt is the %dth day.\n", sum);

return 0;

}

编写一程序P720.C实现以下功能

输入实型数据a,b,然后输出a、b的值。

程序的运行效果应类似地如图1所示,图1中的5.79,6.8723是从键盘输入的内容。

编写一程序P721.C实现以下功能

从键盘输入x,y,z的值,编写程序输出以下表达式的值:

x+z%3*(int)(x+y)%2/4

程序的运行效果应类似地如图1所示,图1中的2.5,4.7,7是从键盘输入的内容。

编写一程序P722.C实现以下功能

从键盘输入一日期,年月日之间以“-”分隔,并以同样的形式但以“/”作分隔符输出。

程序的运行效果应类似地如图1所示,图1中的2009-12-9是从键盘输入的内容。

#include

int main(void)

{

int iYear, iMonth, iDay;

printf("please input a date:");

scanf("%d-%d-%d", &iYear, &iMonth, &iDay);

printf("\nthe date is:%d/%d/%d", iYear, iMonth, iDay);

return 0;

}

编写一程序P723.C实现以下功能

输入三角形的三边长a、b、c(边长可以是小数),求三角形面积area,并输出。如果输入的三边构不成三角形,应给出“data error”的信息提示。注:根据“海伦-秦九韶”公式,area=√p(p-a)(p-b)(p-c),其中p=(a+b+c)/2。编程可用素材:printf("\nplease input triange sides:")...、printf("\ndata error\n")...、printf("\na rea=...\n"...。

程序的运行效果应类似地如图1和图2所示,图1中的3,4,5和图2中的3, 4,8是从键盘输入的内容。

#include

#include

int main(void)

{

double bianA, bianB, bianC, area, pABC;

printf("\nplease input triange sides:");

scanf("%lf,%lf,%lf", &bianA, &bianB, &bianC);

if (bianA<0 || bianB<0 || bianC<0

|| (bianA+bianB <= bianC) || (bianA+bianC <= bianB) || (bianB +bianC <= bianA))

{

printf("\ndata error\n");

}

else

{

pABC = 1.0f / 2 * (bianA + bianB + bianC);

area = sqrt(pABC * (pABC - bianA) * (pABC - bianB) * (pABC -bianC));

printf("\narea=%7.2f\n", area);

}

return 0;

}

编写一程序P727.C实现以下功能

输入两个整数,输出这两个整数的和

程序的运行效果应类似地如图1所示,图1中的3 4是从键盘输入的内容。

编写一程序P728.C实现以下功能

已知某产品单价是30 ,输入其数量是num,输出其总价。

程序的运行效果应类似地如图1所示,图1中的8是从键盘输入的内容。

编写一程序P729.C实现以下功能

输入x,y两个整数,输出其中较大的数。

程序的运行效果应类似地如图1所示,图1中的7,8是从键盘输入的内容。

编写一程序P730.C实现以下功能

输入两个整数,如果相等输出yes ,否则输出no。

程序的运行效果应类似地如图1所示,图1中的5 6是从键盘输入的内容。#include

int main(void)

{

int iA, iB;

printf("please input x,y:");

scanf("%d%d", &iA, &iB);

if (iA == iB)

{

printf("yes");

}

else

{

printf("no");

}

return 0;

}

编写一程序P731.C实现以下功能

输出n行星号,每行5个*星号。编程可用素材:printf("please input n: ")...。

程序的运行效果应类似地如图1所示,图1中的4是从键盘输入的内容。#include

int main(void)

{

int i, n;

scanf("%d", &n);

for (i=1; i<=n; i++)

{

printf("* * * * *\n");

}

return 0;

}

编写一程序P733.C实现以下功能

从键盘读入一个任意字符,输出该字符ASCII的十六进制值。编程可用素

材:printf("Input a character: ")...。

程序的运行效果应类似地如图1所示,图1中的b是从键盘输入的内容。

编写一程序P734.C实现以下功能

从键盘输入一个正方体的边长(整型),计算该正方体的体积和表面积。

程序的运行效果应类似地如图1所示,图1中的5是从键盘输入的内容。

编写一程序P735.C实现以下功能

从键盘输入一个正三角形的边长(整型),计算该三角形的面积和周长。注:根据“海伦-秦九韶”公式,area=√p(p-a)(p-b)(p-c),其中p=(a+b+c)/2、a,b,c 为三角形的3条边长。

程序的运行效果应类似地如图1所示,图1中的5是从键盘输入的内容。

编写一程序P736.C实现以下功能

从键盘上输入一个四位整数,计算各个位上的数字之和。编程可用素材:p rintf("Input a number with 4-digit: ")...、printf("sum=...\n"...。

程序的运行效果应类似地如图1所示,图1中的1234是从键盘输入的内容。#include

int main(void)

{

int num, s1, s2, s3, s4, sum;

printf("Input a number with 4-digit: ");

scanf("%d", &num);

s1 = num / 1000;

s2 = num / 100 % 10;

s3 = num / 10 % 10;

s4 = num % 10;

sum = s1 + s2 + s3 + s4;

printf("sum=%d\n", sum);

return 0;

}

编写一程序P737.C实现以下功能

从键盘输入3个整数,输出绝对值最大的数。编程可用素材:printf("Inpu t 3 numbers: ")...、printf("\nThe number with maximum absolute value is ....\n "...。

程序的运行效果应类似地如图1所示,图1中的1,-362,300是从键盘输入的内容。

#include

#include

int main(void)

{

int numA, numB, numC, max;

printf("Input 3 numbers: ");

scanf("%d,%d,%d", &numA, &numB, &numC);

max = (abs(numA) > abs(numB))? numA : numB;

if (abs(numC) > abs(max))

{

max = numC;

}

printf("\nThe number with maximum absolute value is %d.\n", max);

return 0;

}

编写一程序P738.C实现以下功能

从键盘上输入两个实数,计算这两个实数的商(只计算前面的数除以后面的数)

程序的运行效果应类似地如图1和图2所示,图1中的12 2.5和图2中的8 9.3 0是从键盘输入的内容。

编写一程序P749.C实现以下功能

用键盘输入的整数产生5*5矩阵N,并按行输出该矩阵,每个元素占4个数

位、右对齐。

程序的运行效果应类似地如图1和图2所示,图1中的5和图2中的7是从键盘输入的内容。

编写一程序P827.C实现以下功能

从键盘输入3个可带空格的字符串(约定:字符数≤127字节),输出长度最大的字符串的长度。编程可用素材:printf("Please input the first string:\t")...、pr intf("Please input the second string:\t")...、printf("Please input the third string:\ t")...、printf("\n最长的字符串长度为:...。

程序的运行效果应类似地如图1所示,图1中的hello world、my god、jus t so so是从键盘输入的内容。

#include

#include

#define SIZE 128

int main(void)

{

char str1[SIZE], str2[SIZE], str3[SIZE];

int len1, len2, len3, max;

/*从键盘接收三个字符串*/

printf("Please input the first string:\t");

gets(str1);

printf("Please input the second string:\t");

gets(str2);

printf("Please input the third string:\t");

gets(str3);

/*求各字符串的长度*/

len1 = strlen(str1);

len2 = strlen(str2);

len3 = strlen(str3);

/*求长度最大者*/

max = len1;

if (len2 > max)

{

max = len2;

}

if (len3 > max)

{

max = len3;

}

/*输出结果*/

printf("\n最长的字符串长度为: %d\n", max);

return 0;

}

编写一程序P828.C实现以下功能

从键盘输入3个可带空格的字符串(约定:字符数≤127字节),输出最大的字符串。编程可用素材:printf("Please input the first string:\t")...、printf("Please i nput the second string:\t")...、printf("Please input the third string:\t")...、printf ("\n最大字符串是:...。

程序的运行效果应类似地如图1所示,图1中的C program、hello、god s ave me是从键盘输入的内容。

#include

#include

#define SIZE 128

int main(void)

{

char str1[SIZE], str2[SIZE], str3[SIZE], maxstr[SIZE];

/*从键盘接收三个字符串*/

printf("Please input the first string:\t");

gets(str1);

printf("Please input the second string:\t");

gets(str2);

printf("Please input the third string:\t");

gets(str3);

/*求最大字符串*/

strcpy(maxstr, str1);

if (strcmp(str2, maxstr) > 0)

{

strcpy(maxstr, str2);

}

if (strcmp(str3, maxstr) > 0)

{

strcpy(maxstr, str3);

}

/*输出结果*/

printf("\n最大字符串是: %s\n", maxstr);

return 0;

}

编写一程序P112.C实现以下功能

设某企业2006年的产值为5000万,计划以后每年的增长率为x(x从键盘输入,例如输入8.75表示8.75%),计算该企业的产值在哪年实现翻番以及翻番时的产值,然后输出(输出时以万为单位,应考虑有小数)。编程可用素材:printf(" Please input x: ")...、printf("\nyear = ... nian, chanzhi = ...\n"...。

程序的运行效果应类似地如图1所示,图1中的50.6是从键盘输入的内容。#include

int main(void)

{

int year = 2006;

float x, yCz=5000, xCz;

相关主题
相关文档
最新文档