《C语言程序设计项目化教程(周雅静第3版) 训练及综合练习答案 项目1 训练及作业参考答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计项目化教程(周雅静第3版) 训练及综合练习答案 项目1 训练及作业参考答案.docx(12页珍藏版)》请在第一文库网上搜索。
1、项目一学生成绩的总分与平均分的计算任务1学生成绩的输入、输出实践训练初级训练1 .补充完整程序,请在下列划线上填上正确的答案参考程序#inc1udestdio.hmain()printf(*);输出一行星号printf(,I1oveYou!n);输出I1oveYoU!后,回车printf(*n);输出一行星号)2 .下列程序划线处有错误,请改正并运行。(答案不唯一)参考程序#inc1udestdio.hmain()inta,b;scanf(%d%d,&a,&b);printf(a=%dzb=%dza,b);)3 .用星号(*)输出字母C的图案。提示:可先用*号在纸上写出字母C,再分行输出。(略
2、)4 .小张、小王、小周是今年刚刚进入单位的员工,请输出他们的月收入。已知小张的月总收入是4500元,小王的月总收入是5610.75元,小周的月总收入是5497元。要求输出的形式为:小张的月总收入为:4500元小王的月总收入为:5610.75元小周的月总收入为:5497元参考程序:inc1udestdio.hmain()Printf(小张的月总收入为:4500tn);Printf(小王的月总收入为:5610.75Gn);Printf(“小周的月总收入为:5497元r,);)深入训练1 .请用前面所学的输出语句,输出以下的内容:参考程序:#inc1udestdio.hmain()(printf(
3、*n,)printf(我喜欢C语言程序设计!n);printf(我会花很多时间去学习,我会投入满腔的热情。n);printf(请看我的实际行动。n);printf(,1*,)2 .有如下程序段,对应正确的数据输入是(A),并将其补充成完整的C程序。参考程序为:#inc1udestdio.hmain()(f1oatx,y;scanf(%f%f,&x,&y);printf(a=%f,b=%fzx,y);)3 .根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为(A)请上机验证之。参考程序为:#inc1udestdio.hmain()chars1,s2zs3;scanf(%c%c%
4、cs1s2s3);输入语句;Printf(%c%c%c,si,s2,s3);)4 .根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确的是(A)o参考程序为:#inc1udestdio.hmain()inta;f1oatb;SCanf(”%d%f”,&a,&b);输入语句printf(a+b=%5.3a+b);输入语句)5 .阅读如下程序,请写出它的运行结果,然后上机验证,分析并体会格式输出的使用O6.略7.为了让小侄子多多练习九九表中的乘法题,小明决定让练习题的数字由电脑随机出题,每次出3题。请编程实现之。(参考例1-13)。参考程序为:#inc1ude#inc1ude/*用
5、到了产生随机数的库函数rand(),所以要包含Std1ib.h*/#inc1ude/*用到了产生随机种子time(),所以要包含time.h*/main()intx,y;intz;/*存放产生的随机数,认为是计算机出的数*/*存放从键盘输入的数,即运算结果*/srand(unsigned)time(NU11);/*产生随机种子*/Printf(第1题r,);x=rand();y=rand();x=x%10;y=y%10;Printfd%d*%d=,x,y);scanf(%dz);Printf(第2题己);x=rand();y=rand();x=%10;y=y%10;printf(,%d*%d=
6、y);scanf(%d,z);/*产生随机数*/*让产生的随机数变成10以内的数*/*让产生的随机数变成10以内的数*/输出电脑出的练习题输入答案/*产生随机数*/*让产生的随机数变成10以内的数*/*让产生的随机数变成10以内的数*/输出电脑出的练习题输入答案Printf(第3题n);x=rand();y=rand();x=x%10;y=y%10;Printf(%d*%d=,x,y);scanf(,%dz);/*产生随机数*/*让产生的随机数变成10以内的数*/*让产生的随机数变成10以内的数*/输出电脑出的练习题输入答案任务2总分及平均分的计算实践训练初级训练1 .编程求:从键盘上输入二个
7、整数,求其和、商和余数。参考程序为:inc1udestdio.hmain()intx,y;Printf(“请输入二个整数,以空格隔开n”);scanf(,%d%dz8tx,8ty);Printfr二个整数的和为dn,x+y);Printf(二个整数的商为dn,xy);Printf(二个整数的余数为dn,x%y);)2 .有如下程序,请指出它们的错误原因。题意为:输入二个整数,输出两数之积。参考程序为ttinc1udestdio.hmain()intc1,c2,s;还需增加变量Sprintf(请输入二个数c1,c2:*);scanfC%d%d&c1,&c2);应改为:scanfC%d%d&c1,
8、&c2);s=c1*c2;没有定义变量sprintf(*c1*c2=%d*,s);)3 .小明共买了32个气球,其中红气球比黄气球少4个,小明各买多少个汽球?参考程序为:#inc1udestdio.hmain()itx,y;x=(32-4)2;y=32-x;Printfd红气球=%dn”,x);Printf(黄气球=%dn,y);)4 .个饲养场养鸡和鸭共3559只,如果鸡减少60只,鸭增加100只,那么,鸡的只数比鸭的只数的2倍少1只。问原来鸡和鸭各有多少只?参考程序为:#inc1ude“stdio.hmain()ints,d,c;s=3559-60+100;d=(s+1)/(2+1);c=
9、s-d;Printf(原先鸭子数=%dn”,d-100);Printf(原先鸡数=%dn”,c+60);)5 .编程求:输入三角形的底和高,求其面积。参考程序为:#inc1ude*stdio.hmain()f1oats,a,h;Printf(“请输入三角形的底和高,以空格隔开n);scanf%f%f*,a,&h);s=a*h2;printf(三角形面积为:6.1fn,s);)6 .编程求:输入三角形三边的长,求三角形的周长。参考程序为:#inc1ude“stdio.hmain()f1oata,b,c,cc;Printf(请输入三角形的三边,以空格隔开r);scanf(%f%f%f”,&a,&b
10、,&c);cc=a+b+c;Printf(三角形边长为:6.1fn”,CC);7 .编程求:输入矩形的长和宽,求对角线的长。参考程序为:#inc1ude*stdio.h#inc1udemath.hmain()f1oata,b,cc;Printf(请输入距形的长和宽,以空格隔开n);scanf(%f%f”,&a,&b);cc=sqrt(a*a+b*b);Printf(距形对角线的长:6.1fn”,cc);深入训练1 .改错题。下列程序多处有错,请通过上机改正。使之符合下面的要求。#inc1udestdio.hvoidmain()(f1oata,b,c,s,v;Printf(请输入a,b,c:);
11、scanfC%d%d%da,b,c);修改为:scanf(*%f%f%f*,&a,&b,&c);s=a*b;v=a*b*c;printf(,a=%db=%dc=%dn”,a,b,c);/改为printf(*a=%fb=%fc=%fn*,a,b,c);printf(s=%fn”,s,v=%dn”,v);改为printf(*s=%fv=%fn*,stv);)2 .编辑如下程序:(1)运行结果为:9,11,9,10(2)运行结果为:9,11,8,11(3)运行结果为:9,11,9,11(4)运行结果为:i=9,j=9,m=8,n=93 .略4 .编程求:输入一个华氏温度,要求输出摄氏温度。公式为:c
12、=5(F-32)9o输出要求有文字说明,取2位小数。参考程序为:#inc1ude“stdio.hmain()f1oatf,c;Printf(请输入华氏温度n);scanf(%f,&f);c=5*(f-32)9;Printf(对应的摄氏温度:%6.2fn”,c);)5 .编程求:输入梯形的上底、下底及高,求其面积。参考程序为:#inc1udestdio.hmain()f1oata,b,h,s;Printf(请输入梯形上底、下底、高,以逗号隔开n);scanfC%f,%f,%f,&a,&b,&h);s=(a+b)*h2;Printf(对应的梯形面积为:%6.1fn”,s);)6 .交换二个整形变量
13、的值。即若有二个整型变量x=2,y=3,则交换后x=3,尸2。参考程序为:#inc1udestdio.hmain()f1oata,b,t;Printf(”请输入2个数,以逗号隔开n);scanf(%f,%f,&a,&b);t=a;a=b;b=t;Printf(交换后二个数为:%6.1f,%6.1fn”,a,b);)7 .设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆柱体积。用SCanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序。参考程序为:#inc1ude“stdio.hdefinePI3.14main()f1oatr,h;f1oatcc,s,v;Printf(“请输入圆柱的半径及高,用逗号隔开n);scanf%f,%f,&r,&h);cc=2*PI*r;s=PI*r*r;v=s*h;printf(圆的周长为%6.1fn”,cc);printf(圆的面积为6.1fn,s);printf(圆柱的体积为6.1fn”,v);)8 .黄气球2元3个,红气球3