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

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

x(x只考虑整数int且必须定义为int、但F(x)完全可能超过int的表示范围)通过键盘输入(输入前给出提示Please input x:),然后计算并在屏幕上输出函数值。编程可用素材:printf(\、printf(\。 ┌ -5x+27 (x<0) F(x)= ├ 7909 (x=0) └ 2x-1 (x>0)

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

int main(void) {

int x;

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

printf(\input x:\ //在屏幕上显示提示输入x的信息,告诉用户需scanf(\&x);

/* 根据题目里给出的计算公式计算F(x) */ if (x < 0) { }

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

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

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

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

//如果x<0

//从键盘读入x的值

//x存储自变量x的值

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

要做的事

}

/* 将计算结果按题目的要求输出 */ printf(\= %.0f\x, Fx);

return 0;

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

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

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

#include

int main(void) {

if (1 == cunqi) { }

else if (2 == cunqi) { }

else if (3 == cunqi) {

lilv = 3.63 / 100.0; lilv = 3.15 / 100.0;

printf(\input benjin,cunqi:\scanf(\&benjin, &cunqi); int benjin, cunqi; double lixi, lilv;

}

}

lilv = 4.02 / 100.0;

else if (5 == cunqi) { }

else if (8 == cunqi) { }

lixi = benjin * lilv * cunqi; printf(\= %.2f yuan\\n\lixi); return 0;

lilv = 5.36 / 100.0; lilv = 4.69 / 100.0;

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

编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数(data1、data2必须定义为int,但二者相加可能超出int能表示的范围),op为运算符,它的取值只能是+、-、*、/、%。编程可用素材:printf(\、printf(\。 程序的运行效果应类似地如图1、图2、图3、图4所示,图1中的3000 + 2000、图2中的3000 % 2000、图3中的3000 % 0和图4中的3000 / 0是从键盘输入的内容。 #include #include

int main(void) {

printf(\input data1 op data2: \int data1, data2; double result; char op;

scanf(\%c %d\&data1, &op, &data2); switch (op) {

case '+':

result = (double)data1 + data2; break;

result = (double)data1 - data2; break;

result = (double)data1 * data2; break; if (0 == data2) { } else { } break; if (0 == data2) { } else {

printf(\data1, op, data2, (double)data1 /printf(\chu shu wei 0.\\n\exit(1);

result = data1 % data2;

printf(\chu shu wei 0.\\n\exit(1);

case '-':

case '*':

case '%':

case '/':

data2);

}

}

}

return 0;

printf(\data1, op, data2, result); return 0;

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

输入月份,打印2003年该月有几天。当输入的月份超范围时,应显示“Invalid month input”。编程可用素材:printf(\、printf(\、printf(\。 程序的运行效果应类似地如图1和图2所示,图1中的4和图2中的13是从键盘输入的内容。 #include

int main(void) {

switch (month) {

case 1: case 3: case 5: case 7: case 8: case 10: case 12:

day = 31; break;

printf(\input the month number: \scanf(\&month); int month, day;

case 4:

}

}

case 6: case 9: case 11:

day = 30; break; day = 28; break; day = -1;

case 2:

default :

if (-1 == day) { } else { } return 0;

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

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

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

profit≤1000 没有提成; 1000<profit≤2000 提成10%; 2000<profit≤5000 提成15%; 5000<profit≤10000 提成20%; 10000<profit 提成25%。

请根据输入的利润计算员工的薪水。编程可用素材:printf(\t: \、printf(\。

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

#include

int main(void) {

int profit, grade; double salary = 500;

printf(\ profit: \scanf(\&profit);

grade = (profit - 1) / 1000; switch (grade) { }

case 0:

break;

salary += profit * 0.1; break; case 1:

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;

salary += profit * 0.25;

default:

}

printf(\salary); return 0;

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

输入一个三位正整数,然后逆序输出。如输入123,则输出321。编程可用素材:printf(\、printf(\。

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

int main(void) { }

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

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

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

int main(void) {

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

float fC, fF=1.0; //fC存放摄氏温度的值,fF存放华氏温度的值 return 0; bai = num / 100; shi = num % 100 / 10; ge = num % 10;

printf(\result is %d%d%d\\n\ge, shi, bai); int num, bai, shi, ge;

printf(\an integer: \scanf(\&num);

}

printf(\the degree:\scanf(\&fF);

//在屏幕上显示提示输入华氏温度的信息,//从键盘读入华氏温度,存储到变量fF中

告诉用户需要做的事

/* 按题目里给出的转换公式计算摄氏温度 */ fC = 5.0f / 9 * (fF - 32); /* 将计算结果按题目的要求输出 */ printf(\fF, fC); return 0;

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

输入一个小写英文字母,首先输出它及其ASCII码,然后输出其对应的大写字母及其ASCII码。编程可用素材:printf(\、printf(\。

程序的运行效果应类似地如图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的整倍数,若是,则输出“Yes.”;否则输出“No.”。

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

int main(void) {

int iNum;

}

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

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

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

#include

int main(void) {

switch (month)

printf(\input: year-month-day\\n\scanf(\&year, &month, &day); int day, month, year, sum; return 0;

if ( (iNum%5 == 0) && (iNum%7 == 0) ) { } else { }

printf(\printf(\

printf(\input an integer:\scanf(\&iNum);

{

case 1:

sum = 0; break; sum = 31; break; sum = 59; break; sum = 90; break; sum = 120; break; sum = 151; break; sum = 181; break; sum = 212; break; sum = 243; break; sum = 273; break; sum = 304; break;

case 2:

case 3:

case 4:

case 5:

case 6:

case 7:

case 8:

case 9:

case 10:

case 11:

}

}

case 12:

sum = 334; break;

default:

printf(\error\break;

sum += day;

if ((year@0==0 || year%4==0 && year0!=0) && month>2) { }

printf(\is the %dth day.\\n\sum); return 0;

sum++;

编写一程序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) { }

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

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

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

int main(void) {

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

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

printf(\input triange sides:\

scanf(\&bianA, &bianB, &bianC); double bianA, bianB, bianC, area, pABC; return 0;

printf(\date is:%d/%d/%d\iYear, iMonth, iDay); printf(\input a date:\

scanf(\&iYear, &iMonth, &iDay); int iYear, iMonth, iDay;

+bianC <= bianA))

}

{ } else { } return 0;

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

area = sqrt(pABC * (pABC - bianA) * (pABC - bianB) * (pABC -printf(\area); printf(\error\\n\

bianC));

编写一程序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(\input x,y:\scanf(\&iA, &iB); if (iA == iB) { } else { } return 0;

printf(\printf(\

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

输出n行星号,每行5个*星号。编程可用素材:printf(\。 程序的运行效果应类似地如图1所示,图1中的4是从键盘输入的内容。 #include

int main(void) { }

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

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

return 0;

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

printf(\* * * *\\n\scanf(\&n); int i, n;

材:printf(\。

程序的运行效果应类似地如图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实现以下功能

从键盘上输入一个四位整数,计算各个位上的数字之和。编程可用素材:printf(\、printf(\。

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

int main(void) {

printf(\sum); return 0; s1 = num / 1000; s2 = num / 100 % 10; s3 = num / 10 % 10; s4 = num % 10;

sum = s1 + s2 + s3 + s4;

printf(\a number with 4-digit: \scanf(\&num); int num, s1, s2, s3, s4, sum;

}

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

从键盘输入3个整数,输出绝对值最大的数。编程可用素材:printf(\t 3 numbers: \、printf(\\。

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

#include #include

int main(void) { }

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

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

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

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

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

printf(\number with maximum absolute value is %d.\\n\max); return 0;

max = (abs(numA) > abs(numB))? numA : numB; if (abs(numC) > abs(max)) { }

max = numC;

printf(\3 numbers: \

scanf(\&numA, &numB, &numC); int numA, numB, numC, max;

位、右对齐。

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

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

从键盘输入3个可带空格的字符串(约定:字符数≤127字节),输出长度最大的字符串的长度。编程可用素材:printf(\、printf(\、printf(\t\、printf(\最长的字符串长度为:...。

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

#define SIZE 128

int main(void) {

/*求各字符串的长度*/ len1 = strlen(str1); len2 = strlen(str2); len3 = strlen(str3); /*从键盘接收三个字符串*/

printf(\input the first string:\\t\gets(str1);

printf(\input the second string:\\t\gets(str2);

printf(\input the third string:\\t\gets(str3);

char str1[SIZE], str2[SIZE], str3[SIZE]; int len1, len2, len3, max;

}

/*求长度最大者*/ max = len1; if (len2 > max) { }

if (len3 > max) { }

/*输出结果*/

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

max = len3; max = len2;

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

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

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

#define SIZE 128

int main(void) {

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

printf(\input the first string:\\t\

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

}

gets(str1);

printf(\input the second string:\\t\gets(str2);

printf(\input the third string:\\t\gets(str3); /*求最大字符串*/ strcpy(maxstr, str1); if (strcmp(str2, maxstr) > 0) { }

if (strcmp(str3, maxstr) > 0) { }

/*输出结果*/

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

strcpy(maxstr, str3); strcpy(maxstr, str2);

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

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

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

int main(void) {

int year = 2006; float x, yCz=5000, xCz;

}

编写一程序P115.C实现以下功能 制作一简单的计算器,注意事项:

(1)需要计算的内容从命令行输入,格式为:P115 数1 op 数2,当命令行格式不正确(参数个数不为4)时,应报错。

(2)op的取值范围为+、-、*、/、%,超出此范围则应报错。

(3)数1和数2均为整数(int),op为+、-、*时不考虑运算结果超出int型能表示的范围, op为/、%时不考虑除数为0的情况,但op为/时计算结果应保留2位小数。

(4)程序的返回值(即由main函数return的值和程序使用exit终止运行时返回的值,也称退出代码)规定为:

①正常运行结束时,返回0 ②命令行格式不对返回1 ③op超出范围时返回2

(5)编程可用素材:printf(\、printf(\p(...) Error!\\n\。

程序的运行效果应类似地如图1所示,图1中的E:\\Debug>表示程序P115.exe所在的文件夹,考生的程序位置可不必如此,图1中的P115 1001 + 5007、P115 1001 - 5007、P115 25 * 30、P115 25 / 30、P115 25 % 9、P115 25 x 22、P115 100 +和P115 100 + 330 =是从命令行输入的内容(注:图中的Pxxxxx表示随考生题号变换的内容,在本套试卷中,请考生在阅读时将图中的Pxxxxx视作P115)。 #include

printf(\= %d nian, chanzhi = %.2f\\n\year, xCz); return 0; xCz = yCz;

while (xCz < 2*yCz) { }

year++;

xCz = xCz * (1 + x / 100); printf(\input x: \scanf(\&x);

#include

int main(int argc, char *argv[]) {

switch (argv[2][0]) {

case '+' :

result = num1 + num2; break;

result = num1 - num2; break;

result = num1 * num2; break;

result = num1 * 1.0 / num2; break;

result = num1 % num2; break;

printf(\Error!\\n\argv[2][0]);

if (argc != 4) { }

num1 = atoi(argv[1]); num2 = atoi(argv[3]);

printf(\ num1 op num2\\n\exit(1); int num1, num2; double result;

case '-' :

case '*' :

case '/' :

case '%' :

default :

}

}

exit(2);

if ('/' == argv[2][0]) { } else { } return 0;

printf(\%c %s = %.0f\\n\argv[1], argv[2][0], argv[3], result); printf(\/ %s = %.2f\\n\argv[1], argv[3], result);

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

从键盘读入一个字符串(约定:字符数≤127字节),检查该字符串是否是回文。所谓回文即正向与反向的拼写都一样,例如:adgda。编程可用素材:printf(\lease input string:\、printf(\、printf(\\。

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

int main(void) {

/* 在屏幕上显示出题目要求的图形,先显示上三角 */ for (i=1; i<=n+1; i++) {

/* 提示用户输入n并读入 */ printf(\input n:\scanf(\&n); int i, j, n;

}

}

printf(\n-i+2, '#'); //每1行先显示前n-i+1个空格和1个# for (j=0; j<2*i-2; j++) { }

putchar('\\n');

putchar('#');

//再显示该行剩余的2*i-2个#

/* 显示下三角,从第n到第1行,一行一行逐行显示*/ for (i=n; i>=1; i--) { } return 0;

printf(\n-i+2, '#'); for (j=0; j<2*i-2; j++) { }

putchar('\\n');

putchar('#');

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

猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第n(n从键盘输入)天早上想再吃时,就只剩下一个桃子了。求第一天共摘了多少个桃子(不考虑猴子是否真的能吃多少桃子)。编程可用素材:printf(\、printf(\。 程序的运行效果应类似地如图1所示,图1中的13是从键盘输入的内容。 #include

int main(void) {

int i, total=1, n;

}

printf(\input n:\scanf(\&n); for (i=2; i<=n; i++) { }

printf(\total); return 0;

total = (total + 1) * 2;

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

用scanf输入10个整数(采用int数据类型),计算所有正数的和、负数的和以及10个数的和。编程可用素材:printf(\、printf(\nzhengshu=...,fushu=...,all=...\\n\。

程序的运行效果应类似地如图1所示,图1中的4 6 20 -45 35 56 -23 -4 9 70是从键盘输入的内容。 #include

int main(void) {

printf(\10 integers.\\n\for (i=1; i<=10; i++) {

scanf(\&num); if (num < 0) { }

if (num > 0) {

sumF += num;

int i;

int sumZ=0, sumF=0, sum=0, num;

}

}

}

sumZ += num;

sum += num;

printf(\sumZ, sumF, sum); return 0;

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

有一递推数列,满足f(0)=0,f(1)=1,f(2)=2, f(n+1)=2f(n)+f(n-1)f(n-2) (n>=2), 编写程序求f(n)的值(n由键盘输入,13>=n>=2)。编程可用素材:printf(\nput n (13>=n>=2): \、printf(\。

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

int main(void) { }

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

输入3行3列的矩阵,输出所有元素的累加和。编程可用素材:printf(\

return 0;

printf(\n, fn[n]); for (k=2; k

fn[k+1] = 2 * fn[k] + fn[k-1] * fn[k-2]; printf(\n (13>=n>=2):\scanf(\&n); int k, n;

double fn[21] = {0, 1, 2};

ease input the 3x3 Matrix:\\n\、printf(\。 程序的运行效果应类似地如图1所示,图1中的 9 20 13 16 51 79 32 8 6

是从键盘输入的内容。 #include

int main(void) { }

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

从键盘输入一行可带空格的字符串(约定:字符数≤127字节),按逆序输出该字符串。注意,程序中不能使用库函数strrev或使用同名的变量、函数、单词。编程可用素材:printf(\、printf(\。 程序的运行效果应类似地如图1所示,图1中的abc xyz是从键盘输入的内容。

#include #include

printf(\sum); return 0;

printf(\input the 3x3 Matrix:\\n\for (i=0; i<3; i++) { }

for (j=0; j<3; j++) { }

scanf(\&num[i][j]); sum += num[i][j];

int num[3][3], i, j, sum=0;

int main(void) { }

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

从键盘输入一个一百分制成绩,如果不在0~100范围内,则要求重新输入数据,直到输入的数据在0~100范围内。将输入的数据转换成等级?A?,?B?,?C?,?D?,?E?。90分以上为?A?,80~89分为?B?,70~79分为?C?,60~69分为?D?,60分以下为?E?,要求使用switch、case、default语句,结果赋值给变量grade,并将变量grade的值输出到屏幕上。

注意:变量数据类型的选择应适当,在保证满足设计要求精度的情况下,养成不浪费内存空间和计算时间的好习惯。编程可用素材:printf(\he score(0-100): \、printf(\。

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

#include

int main(void) {

float score; int temp; return 0;

printf(\result is: \for (i=strlen(str)-1; i>=0; i--) { }

printf(\

printf(\str[i]); printf(\a string: \gets(str); int i; char str[128];

}

char grade; do {

printf(\input the score(0-100):\scanf(\&score);

} while (score>100 || score<0); temp = (int)score / 10; switch (temp) { }

printf(\score, grade); return 0;

case 10: case 9:

grade = 'A'; break; grade = 'B'; break; grade = 'C'; break; grade = 'D'; break; grade = 'E';

case 8:

case 7:

case 6:

default:

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

输入字符串s(约定:字符数≤100字节),将字符串s中所有字符?*?删除,并将修改后的字符串显示出来。编程可用素材:printf(\。

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

int main(void) { }

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

键盘输入m,n(约定:m和n均≤1000且为正整数),输出介于m和n(含m和n)中能被3整除且至少有位数字是5的所有整数。编程可用素材:printf(\。

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

int main(void)

return 0;

for (i=j=0; str[i]!='\\0'; i++) { }

str[j] = '\\0'; puts(str);

if (str[i] != '*') { }

str[j] = str[i]; j++;

printf(\input a string: \gets(str); char str[101]; int i, j;

{ }

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

计算X的Y次方,其中Y为整数(可以是负整数或0),X为实型。注意,程序中不能使用库函数pow或使用同名的变量、函数、单词。编程可用素材:printf(\。

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

int main(void) {

return 0;

for (i=m; i<=n; i++) { }

if (i % 3 == 0 && (i / 100 == 5 || i / 10 % 10 == 5 || i % 10 ={ }

printf(\\i);

printf(\m, n: \scanf(\&m, &n); if (m > n) { }

tmp = m; m = n; n = tmp; int i, m, n, tmp;

= 5))

}

int i, y, y1;

double x, xPowY=1.0; printf(\x, y: \scanf(\&x, &y); y1 = abs(y); for (i=1; i<=y1; i++) { } if (y < 0) { }

printf(\x, y, xPowY); return 0;

xPowY = 1 / xPowY; xPowY = xPowY * x;

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

求1+2+3+……+n≤m时的最大n值及和sum(=1+2+3+……+n),其中m从键盘输入。编程可用素材:printf(\、printf(\。 程序的运行效果应类似地如图1所示,图1中的10000是从键盘输入的内容。

#include

int main(void) {

/*从键盘接收m的值存入im变量*/ printf(\input m:\scanf(\&im); int in, im, sum = 0;

}

in = 0;

while (sum <= im) { }

sum -= in; in--;

printf(\sum=%d\\n\in , sum); return 0;

in++; sum += in;

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

求S=1/1!+1/2!+1/3!+…+1/N!并输出结果(显示时小数部分占16位,计算时要求从第1项开始往后累加)。N为任意自然数(只考虑int型),从键盘读入。编程可用素材:printf(\、printf(\。 程序的运行效果应类似地如图1所示,图1中的18是从键盘输入的内容。 #include

int main(void) {

/* 按计算公式完成S的计算 */ for (i=1; i<=n; i++) {

fac = fac * i;

//计算第i项的分母(i!),i!=(i-1)!*i

//累加第i项到sum中

sum = sum + 1/fac;

//从第1项开始一项一项地累加到第N项

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

printf(\input n:\//输出请输入的屏幕提示 scanf(\&n);

//从键盘上读入自然数N的值

int n, i;

//n存储从键盘读入的N值

double sum=0, fac=1; //sum存储累加,fac存储阶乘值

}

}

/* 按题目要求的格式输出N和S的值 */

printf(\n, sum); return 0;

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

一个球从10000m高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第n(n从键盘输入)次落地时,共经过多少米?第n次反弹多高?编程可用素材:printf(\、printf(\。 程序的运行效果应类似地如图1所示,图1中的10是从键盘输入的内容。 #include

int main(void) { }

printf(\sn, hn); return 0; sn = 0; hn = 10000; for (i=1; i<=n; i++) { }

sn = sn - hn;

sn = sn + hn; hn = hn / 2; sn = sn + hn; printf(\input n:\scanf(\&n); int i, n; double sn, hn;

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

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字(可取1~9之间的一个值)。例如2+22+222+2222+22222(此时共有5个数相加),其中a值和有几个数相加由键盘输入控制。注意s的值有可能超出int的范围,编程可用素材:printf(\、printf(\。

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

int main(void) { }

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

输入两个正整数m和n,求其最大公约数和最小公倍数。注:最大公约数也称最大公因子,指某几个整数共有因子中最大的一个;两个整数公有的倍数称为它们的公倍数,其中最小的一个正整数称为它们两个的最小公倍数。编程可用素材:printf(\、printf(\t common divisor is ...\\n\、printf(\。 程序的运行效果应类似地如图1所示,图1中的35 15是从键盘输入的内容。

printf(\sn); return 0;

while (count <= n) { }

tn = tn + valA; sn = sn + tn; valA = valA * 10; count++;

printf(\input a,n: \scanf(\&valA, &n); int n, count=1;

double valA, sn=0, tn=0;

#include #include

int main(void) { }

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

某班有40位同学参加考试,成绩(整数)从键盘输入,求全班最高分、最低分以及平均分,并统计该班同学的考试及格率。编程可用素材:printf(\请输入40位同学的成绩:\、printf(\最高分:...最低分:...平均分:...及格率:...。 程序的运行效果应类似地如图1所示,图1中的99 81 71 81 77 94 100 67 66 4

return 0;

printf(\greatest common divisor is %d\\n\zdGys); printf(\least common multiple is %d\\n\zxGbs); zdGys = min(m, n);

while (m % zdGys != 0 || n%zdGys != 0) { }

zxGbs = max(m, n);

while (zxGbs % m !=0 || zxGbs % n != 0) { }

zxGbs++; zdGys--;

printf(\input two integer numbers: \scanf(\&m, &n); int m, n, zdGys, zxGbs;

4 75 49 47 45 65 74 73 74 63 69 72 77 65 79 84 73 46 62 68 42 75 62 65 66 62 69 44 62 84 77是从键盘输入的内容。 #include

#define SIZE 40

int main(void) {

/*求最大、最小、分数总和,统计及格人数*/ max = scores[0]; min = scores[0]; aver = 0; count = 0;

for (i = 0; i < SIZE; i++) {

if (scores[i] > max) { }

else if (scores[i] < min) { }

min = scores[i]; max = scores[i];

/*从键盘接收数据*/

printf(\请输入%d位同学的成绩:\SIZE); for (i = 0; i < SIZE; i++) { }

scanf(\&scores[i]); int scores[SIZE], i; int max, min, count; double aver, rate;

aver += scores[i]; if (scores[i] >= 60) { count++;

}

}

/*求平均分和及格率*/ aver = aver / 40; rate = (double)count / 40; /*输出结果*/

printf(\最高分: %d\\n最低分: 0f%%\\n\max, min, aver, rate*100);

return 0;

}

平均分: 及格率: %d\\n %.1f\\n %.

联系客服:779662525#qq.com(#替换为@)