资源描述:
《第5章课后习题参考答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章课后习题答案一、程序阅读题1、B2、C3、D4、B5、A二、程序填空题1、CA2、DC3、BAD4、ACB5、AC三、编程题1、从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值。#includemain(){inti,a,num1=0,num2=0,sum=0;floatave;printf("请输入5个整形数:");for(i=1;i<=5;i++){scanf("%d",&a);if(a<0)num1++;if(a>0){sum=sum+a;num2
2、++;}}ave=sum/num2;printf("负数个数num1=%d,正数的平均值ave=%.2f",num1,ave);}2、sum=2+5+8+11+14+…,输入正整数n,求sum的前n项和。#includevoidmain(){inti,n,sum=0;printf("请输入正整形数n:");scanf("%d",&n);for(i=1;i<=n;i++){sum=sum+3*i-1;}printf("sum的前%d项和是%d",n,sum);}3、输入一
3、个正整数n,再输入n个数,输出n个数中的最大数。#includevoidmain(){inti,n;floatnum,max=0;printf("请输入正整形数n:");scanf("%d",&n);printf("请输入%d个数:",n);for(i=1;i<=n;i++){scanf("%f",&num);if(num>max)max=num;}printf("%d个数中的最大值是%.2f",n,max);}4、在屏幕上按每行10个的格式输出100-200间的全部素数。
4、#includevoidmain(){inti,j,num=0;for(i=100;i<=200;i++){for(j=2;j=i){if(num%10==0)printf("");printf("%d",i);num++;}}}5、统计从键盘输入的一行字符中字符#和字母a出现的次数。#includevoidmain(){charch;intnum1=0,num2=0;printf("请输入一行字符:
5、");while((ch=getchar())!=''){if(ch=='#')num1++;if(ch=='a')num2++;}printf("一行字符中字母#和a出现的次数分别是%d,%d",num1,num2);}6、从键盘输入一个正整数,统计该数的位数,如输入1234,输出4,输入0,输出1#includevoidmain(){intn,m,num=0;printf("请输入一个正整数n:");scanf("%d",&n);m=n;do{n=n/10;nu
6、m++;}while(n!=0);printf("正整数%d的位数是%d",m,num);}7、2000年中国、印度和美国的人口分别为12.6亿、10亿和2.75亿,计算当人口以每年1%的增长率增长时,从2000年算起分别经过多少年这些国家的人口增长到15亿?#include#includevoidmain(){doublechina=12.6,india=10,america=2.75;intn=0;while(china<=15){n++;china=c
7、hina*pow(1.01,n);}printf("从2000年算起中国经过%d年人口增长到15亿",n);n=0;while(india<=15){n++;india=india*pow(1.01,n);}printf("从2000年算起印度经过%d年人口增长到15亿",n);n=0;while(america<=15){n++;america=america*pow(1.01,n);}printf("从2000年算起美国经过%d年人口增长到15亿",n);}8、某班级用100元买
8、100本笔记本,若大号本每本10元,中号本每本5元,小号本每本0.5元且至少各一本,问有多少种组合?编程在屏幕上输出这些可能的组合。#includevoidmain(){intx,y,z,num=0;for(x=1;x<=9;x++)for(y=1;y<=19;y++){z=100-x-y;if(10*x+5*y+0.5*z==100&&z!=0){num++;printf("%d%d%d",x,y,z);}}printf("总共有%d种组合",num);}9、编写程序