您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 2013级C复习题(补充31题)答案
1C语言期末复习题(补充31题)简单程序设计1、给定一圆的半径,写程序计算和打印圆的面积。请使用符号常量表示圆周率和适当的变量表示半径。/*#includestdio.h#definePI3.1415926intmain(){floatr,s,l;printf(请输入圆的半径:);scanf(%f,&r);s=PI*r*r;l=2*PI*r;printf(圆的面积s=%f\n,s);printf(圆的半径l=%f\n,l);return0;}*/2、一公斤大米价格是16.75元,一公斤的糖是15元,写程序让用户输入这些数据,并打印如下:***LISTOFITEM***ItemPriceRiceRMB16.75SugarRMB15.00#includestdio.hintmain(){printf(***LISTOFITEM***\n);printf(ItemPrice\n);printf(RiceRMB16.75\n);printf(SugarRMB15.00\n);return0;}3~6、用C赋值语句表示以下计算式并输出计算结果(变量的值可自行输入):Area=r2+2rhTorque=gmmmm21212Side=)cos(222xabbaEnergy=mass[acceleration*height+2)(2velocity]2选择程序设计1、二元x1,x2的一次方程组为:ax1+bx2=mcx1+dx2=n设其有唯一解:x1=cbadbnmdx1=cbadmcna且分母ad-cb不为0.写程序输入常量a,b,c,d,m,n,计算x1,x2.如果出现ad-cb为0,要有适当的提示信息。#includestdafx.h#includestdio.hint_tmain(intargc,_TCHAR*argv[]){floata,b,c,d,m,n;floatx1,x2;printf(二元x1,x2的一次方程组为:\nax1+bx2=m\ncx1+dx2=n\n);printf(a=);scanf(%f,&a);printf(b=);scanf(%f,&b);printf(m=);scanf(%f,&m);printf(c=);scanf(%f,&c);printf(d=);scanf(%f,&d);printf(n=);scanf(%f,&n);if(a*d-c*b==0)printf(Error\n);else{x1=(m*d-b*n)/(a*d-c*b);x2=(n*a-m*c)/(a*d-c*b);printf(x1=%f\nx2=%f\n,x1,x2);}return0;}2、给定一组学生分数,介于0~100,编程统计打印以下各分数段的学生数:3(a)超过80分(b)超过60分(c)超过40分(d)不高于40分(e)61~80的(f)40~60的要求用最少的if语句。#includestdio.hintmain(){intn,score[1000];inti,j;inta,b,c,d,e,f;a=b=c=d=e=f=0;printf(你要输入多少个学生的成绩:);scanf(%d,&n);for(i=0;in;i++){printf(%d号学生的成绩为:,i+1);scanf(%d,&score[i]);if(score[i]0||score[i]100){printf(你她妈,输错了,重输,艹艹艹艹艹\n);i=i-1;continue;}}for(i=0;in;i++){j=score[i]/10;switch(j){case10:case9:case8:a++;break;case7:case6:b++;break;case5:case4:c++;break;case3:case2:case1:case0:d++;break;}if(score[i]=61&&score[i]=80){4e++;}if(score[i]=40&&score[i]=60){f++;}}printf(超过80分人数为:%d\n,a);printf(超过60分人数为:%d\n,a+b);printf(超过40分人数为:%d\n,a+b+c);printf(不高于40分人数为:%d\n,d);printf(61~80的人数为:%d\n,e);printf(40~60的人数为:%d\n,f);return0;}循环程序设计1、编程求m阶乘(用循环实现)。#includestdio.hintmain(){intn,i,s;printf(请输入阶乘n:);scanf(%d,&n);for(i=1,s=1;i=n;i++){s=s*i;}printf(阶乘为:%d\n,s);}2~3、分别编写求以下式子的程序,精度到0.000001为止:第2题:cos(x)=!6!4!21642xxx#includemath.h#includestdio.h#definePI3.1415926intfactorial(intn){inti,s;for(i=1,s=1;i=n;i++){s=s*i;}return(s);5}intmain(){inti,sign;floats,x,t,X;printf(请输入角度:cos);scanf(%f,&x);X=x/180*PI;s=0,t=1,sign=1;for(i=2;fabs(t)=1e-6;i=i+2){s=s+t;sign=-sign;t=sign*pow(X,i)/factorial(i);}printf(cos(%.2f)=%f\n,x,s);return0;}第3题:SUM=1+(1/2)2+(1/3)3+(1/4)4+……#includestdio.h#includemath.hintmain(){floatsum,t,n;inti;t=1,sum=0;for(i=2;fabs(t)1e-6;i++){sum=sum+t;n=1.0/i;t=pow(n,i);}printf(sum=%f\n,sum);return0;}4、用二维表形式输出0到9.9的平方根表:SquareRootofX----------------------------------------------------------------------------------------------------x0.10.20.30.40.50.60.70.80.90.01.02.03.04.065.06.07.08.09.0------------------------------------------------------------------------------------------------------#includestdio.h#includemath.hintmain(){//i代表行,j代表列,s代表平方根,a代表被开方数inti,j,a,n;floats;for(n=0;n=9;n++)printf(%7d,n);printf(\n);for(i=0;i=9;i++){printf(%3d,i);for(j=0;j=9;j++){a=10*i+j;s=pow(a,0.5);printf(%7.3f,s);}printf(\n);}return0;}5、用for语句打印:(a)122333444455555(b)***************(a)#includestdio.hintmain(){inta,b;intn;for(a=0;a=4;a++){for(b=0;b=a;b++){7printf(%3d,a+1);}printf(\n);}return0;}(b)#includestdio.hintmain(){inta,b,c;intn;for(a=4;a=0;a--){for(c=0;c4-a;c++)printf();for(b=0;b=a;b++){printf(*);}printf(\n);}return0;}6、打印如下的y=exp(-x)的函数值对照表,x从0.0增到10.0,步长0.1:TableforY=EXP(-X)----------------------------------------------------------------------------------------------------x0.10.20.30.40.50.60.70.80.90.01.02.03.04.05.06.07.08.09.0------------------------------------------------------------------------------------------------------#includestdio.h#includemath.hintmain(){//i代表行,j代表列,s代表平方根,a代表被开方数floatx,n,i,j;8printf(x);for(n=0.1;n1;n=n+0.1)printf(%-8.2f,n);printf(\n);for(i=0;i=9;i=i+1){printf(%3.1f,i);for(j=0.1;j1;j=j+0.1){x=i+j;printf(%8.4f,exp(-x));}printf(\n);}return0;}7、有苹果若干,按以下方法分给五个大人和一位小孩.先由第一人将苹果均分为5堆,多余的一个给小孩,自己取其中的一堆.第二人又将剩下的苹果均分为5堆,多余一个给小孩,自己取其中的一堆.第三、四、五人同样均分,多余一个给小孩,每人各取其中一堆。问原先最少有多少苹果?五个大人各得多少苹果?#includestdafx.hintmain(){//n代表所有的苹果inta[5],i,n,m,j;for(m=1000;m10000;m++){n=m;for(i=0;i5;i++){if(n%5==1){a[i]=(n-1)/5;n=a[i]*4;}elsebreak;}if(i==5)break;}printf(原先最少%d个苹果\n,m);for(i=0;i5;i++){9printf(大人%d分得%3d个苹果\n,i+1,a[i]);}return0;}8、计算机辅助教育:帮助小学生学习加法,用rand函数产生一对1位数的整数,如下形式显示:Howmuchis5plus4?学生输入答案,程序判断答案正误,若正确则打印“GOOD”,再出下一题;若不正确,打印“No.TryAgin.”,让学生再给答案,直到答案正确。写出程序。#includestdio.h#includestdlib.h#includetime.hintmain(){inta,b,c,n;srand(time(NULL));flag:a=rand()%10;b=rand()%10;c=a+b;printf(Howmuchis%dplus%d?,a,b);scanf(%d,&n);if(n==c)printf(GOOD\n);else{printf(No.TryAgin.\n);gotoflag;}return0;}9、新完全平方数:在三位整数(100~999)中寻找符合条件的整数并依次从小到大存入数组中,条件为它既是一个整数的平方数,又有两位数字相同,例如:144、676等。要求输出所有满足该条件的三位数整数,并输出满足该条件的整数的个数。#includestdio.hintmain(){//a代表百位数,b代表十位数,c代表个位数inti,n,s;inta,b,c;for(i=10;i=35;i++){s=i*i;a=s/100;b=s/100/10;10c=s%10;if(s=100&&s=1000&&(a==b||a==c||b=
本文标题:2013级C复习题(补充31题)答案
链接地址:https://www.777doc.com/doc-2993319 .html