C语言慕课编程题在线测试(新).doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 在线 测试
- 资源描述:
-
第一章 1.1 题目容: 使用printf()在屏幕上输出 hello world! 提示: #include <stdio.h> int main() { printf("hello world!\n"); return 0; } 输入格式: 无 输出格式: 输出提示信息:"hello world!\n" 输入样例: 输出样例: hello world! #include <stdio.h> int main() { printf("hello world!\n"); return 0; } 1.2 在屏幕上输出多行信息(3分) 题目容: 使用printf()函数在屏幕上输出以下多行信息: hello world! hello hit! hello everyone! 提示: 在printf()函数中转义字符‘\n’表示换行。 输入格式: 输出格式: 输出提示信息: "hello world!\n" "hello hit!\n" "hello everyone!\n" 输入样例: 输出样例: hello world! hello hit! hello everyone! #include <stdio.h> int main() { printf("hello world!\n"); printf("hello hit!\n"); printf("hello everyone!\n"); return 0; } 1.3 计算半圆弧的周长与半圆面积(3分) 题目容: 编程并输出半径r=5.3的半圆弧的周长与该半圆的面积,的取值为3.14159。要求半径r和必须利用宏常量表示。 输入格式: 无 输出格式: 半圆的面积输出格式: "Area=%f\n" 半圆弧的周长输出格式: "circumference=%f\n" 输入样例: 输出样例: Area=44.123632 circumference=16.650427 #include<stdio.h> #define PI 3.14159 #define R 5.3 int main() { printf("Area=%f\n", R*R*PI/2); printf("circumference=%f\n", 2*R*PI/2); return 0; } 1.4 计算长方体体积(3分) 题目容: 编程并输出长1.2、宽4.3、高6.4的长方体的体积。要求长方体的长、宽、高必须利用const常量表示。 输入格式: 无 输出格式: 长方体的体积输出格式:"volume=%.3f\n" 输入样例: 输出样例: #include<stdio.h> int main() { const float l=1.2; const float x=4.3; const float y=6.4; printf("volume=%.3f\n", l*x*y); return 0; } 第三章 3.1 计算两个数的平方和(3分) 题目容: 从键盘读入两个实数,编程计算并输出它们的平方和,要求使用数学函数pow(x,y)计算平方值,输出结果保留2位小数。 提示:使用数学函数需要在程序中加入编译预处理命令 #include <math.h> 以下为程序的输出示例: please input x and y: 1.2,3.4↙ result=13.00 输入格式: "%f,%f" 输出格式: 输入提示信息:"please input x and y:\n" 输出格式:"result=%.2f\n" 输入样例: 输出样例: #include<stdio.h> #include<math.h> int main() { printf("please input x and y:\n"); float x, y; scanf("%f,%f", &x, &y); printf("result=%.2f\n", pow(x,2)+pow(y,2)); return 0; } 3.2 逆序数的拆分计算(3分) 题目容: 从键盘输入一个4位数的整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-1234,忽略负号,由1234分离出其千位1、百位2、十位3、个位4,然后计算4*1000+3*100+2*10+1 = 4321,并输出4321。再将得到的逆序数4321拆分为两个2位数的正整数43和21,计算并输出拆分后的两个数的平方和的结果。 以下是程序的输出示例: Input x: -1234↙ y=4321 a=43,b=21 result=2290 输入格式: "%d" 输出格式: 输入提示信息:"Input x:\n" 逆序数输出格式:"y=%d\n" 逆序数拆分后的输出格式:"a=%d,b=%d\n" 平方和的输出格式:"result=%d\n" 输入样例: 输出样例: #include<stdio.h> int main() { printf("Input x:\n"); int x; scanf("%d", &x); if(x<=0) { x=-x; } int a, b, c, d; a=x/1000; b=x/100%10; c=x/10%10; d=x%10; printf("y=%d\n", d*1000+c*100+b*10+a); printf("a=%d,b=%d\n", d*10+c, b*10+a); printf("result=%d\n", (b*10+a)*(b*10+a)+(d*10+c)*(d*10+c)); return 0; } 3.3 拆分英文名(3分) 题目容: 从键盘输入某同学的英文名(小写输入,假设学生的英文名只包含3个字母。如: tom),编写程序在屏幕上输出该同学的英文名,且首字母大写(如: Tom)。同时输出组成该英文名的所有英文字符在26个英文字母中的序号。 以下为程序的输出示例: input your English name: tom↙ Tom t:20 o:15 m:13 输入格式: "%c%c%c" 输出格式: 输入提示信息:"input your English name:\n" 首字母大写的英文的输出格式:"%c%c%c\n" 中每个字母在26个英文字母中的序号的输出格式:"%c:%d\n" 输入样例: 输出样例: #include<stdio.h> int main() { printf("input your English name:\n"); char a, b, c; scanf("%c%c%c", &a, &b, &c); printf("%c%c%c\n", a+'A'-'a', b, c); printf("%c:%d\n", a, a-'a'+1); printf("%c:%d\n", b, b-'a'+1); printf("%c:%d\n", c, c-'a'+1); return 0; } 3.4 计算体指数(3分) 题目容: 从键盘输入某人的身高(以厘米为单位,如174cm)和体重(以公斤为单位,如70公斤),将身高(以米为单位,如1.74m)和体重(以斤为单位,如140斤)输出在屏幕上,并按照以下公式计算并输出体指数,要求结果保留到小数点后2位。 假设体重为w公斤,身高为h米,则体指数的计算公式为: 以下是程序的输出示例: input weight, height: 70,174↙ weight=140 height=1.74 t=23.12 输入格式: "%d,%d" 输出格式: 输入提示信息:"input weight, height:\n" (注意:在height和逗号之间有一个空格) 体重输出格式:"weight=%d\n" 身高输出格式:"height=%.2f\n" 体指数输出格式:"t=%.2f\n" 输入样例: 输出样例: #include<stdio.h> int main() { int x, y; printf("input weight, height:\n"); scanf("%d,%d", &x, &y); printf("weight=%d\n", x*2); printf("height=%.2f\n", y/100.0); printf("t=%.2f\n", x/((y/100.0)*(y/100.0))); return 0; } 第四章 4.1 数位拆分v2.0(4分) 题目容: 从键盘上输入一个4位数的整数n,编写程序将其拆分为两个2位数的整数a和b,计算并输出拆分后的两个数的加、减、乘、除和求余运算的结果。例如n=-4321,设拆分后的两个整数为a,b,则a=-43,b=-21。除法运算结果要求精确到小数点后2位。求余和除法运算需要考虑除数为0的情况,即如果拆分后b=0,则输出提示信息"the second operater is zero!" 程序的运行结果示例1: please input n: 1200↙ 12,0 sum=12,sub=12,multi=0 the second operater is zero! 程序的运行结果示例2: please input n: -2304↙ -23,-4 sum=-27,sub=-19,multi=92 dev=5.75,mod=-3 输入格式: "%d" 输出格式: 输入提示信息:"please input n:\n" 拆分后的两个整数的输出格式:"%d,%d\n" 加法、减法、乘法的输出格式:"sum=%d,sub=%d,multi=%d\n" 除法和求余的输出格式:"dev=%.2f,mod=%d\n" 除数为0的提示信息:"the second operater is zero!\n" 输入样例: 输出样例: #include <stdio.h> main() { int m,x,y; printf("please input n:\n"); scanf("%d",&m); x=m/100; y=m%100; printf("%d,%d\n",x,y); printf("sum=%d,sub=%d,multi=%d\n",x+y,x-y,x*y); if (y!=0){ printf("dev=%.2f,mod=%d\n",(float)x/y,x%y); } else{ printf("the second operater is zero!\n"); } } 4.2 快递费用计算(4分) 题目容: 市的某快递公司根据投送目的地距离公司的远近,将全国划分成5个区域: 0区 1区 2区 3区 4区 同城 临近两省 1500公里(含)以 1500——2500公里 2500公里以上 , ,,,,,安微,,,,,,,。 ,,,,,,XX,,,,,。 ,。 快递费按重量计算,由起重费用、续重费用两部分构成: (1)起重(首重)1公斤按起重资费计算(不足1公斤,按1公斤计算),超过首重的重量,按公斤(不足1公斤,按1公斤计算)收取续重费; (2)同城起重资费10元,续重3元/公斤; (3)寄往1区(江浙两省)的,起重资费10元,续重4元; (4)寄往其他地区的,起重资费统一为15元。而续重部分,不同区域价格不同:2区的续重5元/公斤,3区的续重6.5元/公斤,4区的续重10元/公斤。 编写程序,从键盘输入的目的区域编码和重量,计算并输出运费,计算结果保留2位小数。 提示:续重部分不足一公斤,按1公斤计算。因此,如包裹重量2.3公斤:1公斤算起重,剩余的1.3公斤算续重,不足1公斤按1公斤计算,1.3公斤折合续重为2公斤。如果重量应大于0、区域编号不能超出0-4的围。 程序运行结果示例1: 4,4.5↙ Price: 55.00 程序运行结果示例2: 5,3.2↙ Error in Area Price: 0.00 输入格式: 用逗号分隔的两个数字,第一个表示区域、第二个是重量:"%d,%f" 输出格式: 价格的输出格式:"Price: %5.2f\n" 区域错误的提示信息:"Error in Area\n" 输入样例: 输出样例: #include <stdio.h> #include <math.h> int main() { int area; float weight,price,x1,x2; scanf("%d,%f",&area,&weight); if (weight<=1){ x1=1.0; } else{ x1=1.0; x2=ceil(weight-1); } if (area>0&&area<=4){ switch(area){ case(0):price=x1*10+x2*3;break; case(1):price=x1*10+x2*4;break; case(2):price=x1*15+x2*5;break; case(3):price=x1*15+x2*6.5;break; case(4):price=x1*15+x2*10;break; } printf("Price: %5.2f\n",price); } else { printf("Error in Area\n"); printf("Price: 0.00\n"); } return 0; } 4.3 数据区间判断(5分) 题目容: 从键盘输入一个int型的正整数n(已知:0<n<10000),编写程序判断n落在哪个区间。如果用户输入的数据不在指定的围里,程序输出 "error!"。例如,输入265,则该数属于区间 100-999。 程序运行结果示例1: Please enter the number: 2563↙ 2563: 1000-9999 程序运行结果示例2: Please enter the number: 156↙ 156: 100-999 程序运行结果示例3: Please enter the number: 36↙ 36: 10-99 程序运行结果示例4: Please enter the number: 3↙ 3: 0-9 程序运行结果示例5: Please enter the number: 10923↙ error! 输入格式: "%d" 输出格式: 输入提示信息:"Please enter the number:\n" 输出的区间判断: "%d: 1000-9999\n" "%d: 100-999\n" "%d: 10-99\n" "%d: 0-9\n" 输入错误提示信息:"error!\n" 输入样例: 输出样例: #include<stdio.h> #include<math.h> int main() { int x; printf("Please enter the number:\n"); scanf("%d",&x); if (x>=1000&&x<=9999) printf("%d: 1000-9999\n",x); else if (x>=0&&x<=9) printf("%d: 0-9\n",x); else if (x>=10&&x<=99) printf("%d: 10-99\n",x); else if (x>=100&&x<=999) printf("%d: 100-999\n",x); else printf("error!\n"); return 0; } 4.4 计算一元二次方程的根v2.0(3分) 题目容: 根据下面给出的求根公式,计算并输出一元二次方程的两个实根,要求精确到小数点后4位。其中a,b,c的值由用户从键盘输入。如果用户输入的系数不满足根的要求,输出错误提示 "error!"。 程序运行结果示例1: Please enter the coefficients a,b,c: 1,2,1↙ x1=-1.0000, x2=-1.0000 程序运行结果示例2: Please enter the coefficients a,b,c: 2,6,1↙ x1=-0.1771, x2=-2.8229 程序运行结果示例3: Please enter the coefficients a,b,c: 2,1,6↙ error! 输入格式: "%f,%f,%f" 输出格式: 输入提示信息:"Please enter the coefficients a,b,c:\n" 输出格式:"x1=%7.4f, x2=%7.4f\n" 输入错误提示信息:"error!\n" 输入样例: 输出样例: #include<stdio.h> #include<math.h> int main() { float a,b,c,x1,x2,m; printf("Please enter the coefficients a,b,c:\n"); scanf("%f,%f,%f",&a,&b,&c); m=b*b-4*a*c; if (m<0){ printf("error!\n"); } else{ x1=(-b+sqrt(m))/(2*a); x2=(-b-sqrt(m))/(2*a); printf("x1=%7.4f, x2=%7.4f\n",x1,x2); } return 0; } 第五章 5.1 6位密码输入检测(3分) 题目容: 从键盘输入6位仅由数字0~9组成的密码。用户每输入一个密码并按回车键后,程序给出判断:如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码;否则,程序提示"error",并让用户继续输入下一位密码。直到用户输入的密码全部是数字为止。 以下为程序的运行结果示例: Input your password: 1↙ 1, you have enter 1-bits number 6↙ 6, you have enter 2-bits number a↙ error d↙ error 4↙ 4, you have enter 3-bits number 6↙ 6, you have enter 4-bits number 8↙ 8, you have enter 5-bits number 2↙ 2, you have enter 6-bits number 输入格式: 数字字符输入格式:"%c" 输出格式: 输入提示信息:"Input your password:\n" 如果输入的是数字,输出格式为:"%c, you have enter %d-bits number\n" 如果输入的不是数字,输出提示信息:"error\n" 输入样例: 输出样例: #include <stdio.h> int main() { char a; int i=0; printf("Input your password:\n"); while(i<6) { scanf("%c",&a); if (a>=48&&a<=57) { printf("%c, you have enter %d-bits number\n",a,++i); } else printf("error\n"); getchar(); } return 0; } 5.2 判断一个整型数据有几位v1.0(4分) 题目容: 从键盘输入一个整型数据(int型),编写程序判断该整数共有几位。例如,从键盘输入整数16644,该整数共有5位。 程序运行结果示例1: Please enter the number: 21125↙ 21125: 5 bits 程序运行结果示例2: Please enter the number: -12234↙ -12234: 5 bits 输入格式: "%d" 输出格式: 输入提示信息:"Please enter the number:\n" 判断该整数共有几位: "%d: %d bits\n" 输入样例: 输出样例: #include <stdio.h> int main(){ int x,y,n; printf("Please enter the number:\n"); scanf("%d",&x); n=x; for(y=1;x/=10;y++); printf("%d: %d bits\n",n,y); return 0; } 5.3 检测输入数据中奇数和偶数的个数(4分) 题目容: 从键盘输入一系列正整数,输入-1表示输入结束(-1本身不是输入的数据)。编写程序判断输入数据中奇数和偶数的个数。如果用户输入的第一个数据就是-1,则程序输出"over!"。否则。用户每输入一个数据,输出该数据是奇数还是偶数,直到用户输入-1为止,分别统计用户输入数据中奇数和偶数的个数。 程序运行结果示例1: Please enter the number: 1↙ 1:odd 5↙ 5:odd 8↙ 8:even 9↙ 9:odd 12↙ 12:even 17↙ 17:odd -1↙ The total number of odd is 4 The total number of even is 2 程序运行结果示例2: Please enter the number: -1↙ over! The total number of odd is 0 The total number of even is 0 输入格式: "%d" 输出格式: 输入提示信息:"Please enter the number:\n" 用户输入的第一个数据就是-1,输出格式:"over!\n" 奇数的输出格式:"%d:odd\n" 偶数的输出格式:"%d:even\n" 输入数据中奇数的个数统计:"The total number of odd is %d\n" 输入数据中偶数的个数统计:"The total number of even is %d\n" 输入样例: 输出样例: #include <stdio.h> int main(){ int s,odd=0,even=0; printf("Please enter the number:\n"); do{ scanf("%d",&s); if (s==-1&&odd==0&&even==0) printf("over!\n"); else if( s%2!=0 &&s!=-1) {printf("%d:odd\n",s);odd++;} else if (s%2==0){printf("%d:even\n",s);even++;} else even+=0; }while (s!=-1); printf("The total number of odd is %d\n",odd); printf("The total number of even is %d\n",even); return 0; } 5.4 计算球的反弹高度(4分) 题目容: 一个球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下并反弹......,求它在第5次和第10次落地时,分别共经过了多少米?第5次和第10次反弹分别是多高?要求计算结果保留到小数点后3位。用户从键盘输入想要计算的第n次(n<=15)。 程序运行结果示例1: input: 5↙ 5 times: 287.500 3.125 程序运行结果示例2: input: 10↙ 10 times: 299.609 0.098 输入格式: "%d" 输出格式: 反弹次数:"%d times:\n" 第n次反弹共经过多少米:"%.3f\n" 第n次的反弹高度:"%.3f\n" 输入提示信息:"input:\n" 输入样例: 输出样例: #include <stdio.h> int main(){ int time,i; float each=0,sum=0,h=100; printf("input:\n"); scanf("%d",&time); for (i=0;i<time;i++){ sum+=h; h/=2; each=h; sum+=each; } printf("%d times:\n",time); printf("%.3f\n",sum-each); printf("%.3f\n",each); return 0; } 第六章 6.1 程序改错v2.0(5分) 下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间的数据(例如输入的是a,或者102,或-45等),则程序输出 Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 1. #include<stdio.h> 2. int main() 3. { 4. int score; 5. char grade; 6. printf("Please input score:"); 7. scanf("%d", &score); 8. if (score < 0 || score > 100) 9. printf("Input error!\n"); 10. else if (score >= 90) 11. grade = 'A’; 12. else if (score >= 80) 13. grade = 'B'; 14. else if (score >= 70) 15. grade = 'C'; 16. else if (score >= 60) 17. grade = 'D'; 18. else 19. grade = 'E'; 20. printf("grade:%c\n", grade); 21. return 0; 22. } 程序运行结果示例1: Please input score: a↙ Input error! Please input score: -12↙ Input error! Please input score: 230↙ Input error! Please input score: 92↙ grade: A 程序运行结果示例2: Please input score: 88↙ grade: B 程序运行结果示例3: Please input score: 73↙ grade: C 程序运行结果示例4: Please input score: 65↙ grade: D 程序运行结果示例5: Please input score: 27↙ grade: E 输入格式: "%d" 输出格式: 输入提示信息:"Please input score:\n" 输入错误提示信息:"Input error!\n" 输出格式:"grade: %c\n" (注意:%c前面有一个空格) 输入样例: 输出样例: #include<stdio.h> int main() { int score,m=0; char grade; printf("Please input score:\n"); do{ m=scanf("%d", &score); getchar(); if (m!=1 ||score < 0 || score > 100) { printf("Input error!\nPlease input score:\n");m=0;} }while (m==0); if (score >= 90) grade = 'A'; else if (score >= 80) grade = 'B'; else if (score >= 70) grade = 'C'; else if (score >= 60) grade = 'D'; else grade = 'E'; printf("grade: %c\n", grade); return 0; } 6.2 编程计算 a+aa+aaa+…+aa…a(n个a)的值(4分) 题目容: 编程计算 a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。 程序运行结果示例: Input a,n: 2,4↙ sum=2468 输入格式: "%d,%d"(先输入a,后输入n) 输出格式: 输入提示信息:"Input a,n:\n" 输出格式:"sum=%ld\n""%ld\n" 输入样例: 输出样例: #include <stdio.h> int main(){ int a,n,sum=0,tem=1; printf("Input a,n:\n"); scanf("%d,%d",&a,&n); int i; for (i=1;i<=n;i++) { sum+=(a*tem); tem=tem*10+1; } printf("sum=%d\n",sum); return 0; } 6.3 搬砖问题(4分) 题目容: n块砖( 27<n<=77 ),36人搬,男搬4,女搬3,两个小孩抬一块砖,要求一次搬完,问男人、女人和小孩各需多少人?请用穷举法编程求解,n的值要求从键盘输入。输出结果按照男人数量升序给出(见下面示例3)。 程序的运行结果示例1: Input n(27<n<=77): 28↙ men=0,women=4,children=32 程序的运行结果示例2: Input n(27<n<=77): 36↙ men=3,women=3,children=30 程序的运行结果示例3: Input n(27<n<=77): 60↙ men=2,women=14,children=20 men=7,women=7,children=22 men=12,women=0,children=24 输入提示: "Input n(27<n<=77):\n" 输入格式: "%d" 输出格式:"men=%d,women=%d,children=%d\n" 输出样例: #include <stdio.h> int main() { printf("Input n(27<n<=77):\n"); int n; scanf("%d",&n); int woman, man, kid; for (man = 0; man <= n; man++) { for (woman = 0; woman <= n; woman++) { kid = 36 - man - woman; if (4 * man + 3 * woman + 0.5 * ki展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




C语言慕课编程题在线测试(新).doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4452872.html