资源描述:
《本章课外练习参考解答》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本章课外练习参考解答1、编程实现如下功能,即:用天平秤量100克的药,天平秤所配置的砝码只有1克、2克和5克3种,找出该天平秤量100克的药的方法。参考解答:#includemain(){inti,j,k,sum=0;/*i,j,k分别表示所加的1、2、5克砝码的个数*/for(i=1;i<30;i++)/*砝码总数为30个,所以加1克砝码最多30种可能*/{for(j=1;j<30-i;j++)/*加2克砝码的可能数为30减去加1克砝码的可能数*/{k=30-i-j;if(i+2*j+5*k==100)/*采用elseif结构*/{sum=sum+1;/*如
2、果满足不定方程,累加每次组合*/printf("oneresult:%2d,%2d,%2d",i,j,k);}}}printf("sum=%d",sum);/*输出有几种不同的秤量方法*/}2、编程实现如下功能,即:在屏幕绘制等腰三角形。************************参考解答:#include"stdio.h"main(){inti,j,k;do{printf("pleaseinputvex(7~73)=");scanf("%d",&k);}while((k<7)
3、
4、(k>73));/*容错输入顶点所在当前行的列数*/for(j=1;j<=k-1;
5、j++)printf("");printf("*");/*显示顶点星号*/for(i=1;i<=5;i++)/*中间5层输出*/{for(j=1;j<=k-i-1;j++)printf("");printf("*");/*显示中间层每层起点星号*/for(j=1;j<=i+i-1;j++)printf("");printf("*");/*显示中间层每层终点星号*/}for(j=1;j<=k-7;j++)printf("");printf("*");/*显示底边起始星号*/for(i=1;i<=12;i++)printf("*");/*显示底边剩余星号*/printf("
6、");}3、编程解百钱百鸡问题,中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,鸡翁、鸡母、鸡雏各几何?参考解答:#includevoidmain(){intx,y,z;printf("CookHenChicken");for(x=0;x<=20;x++)for(y=0;y<=33;y++){z=3*(100-5*x-3*y);if(z>=0&&x+y+z==100)printf("%4d%4d%4d",x,y,z);}}4、编程实现如下功能,即:查找100至999之间所
7、有符合以下条件的数:是另一数的平方;至少有两位数是相同的。如数144,它是12的平方,其中有两位4。参考解答:#include"stdio.h"main(){intn,m,a,b,c;for(n=10;n<=31;n++){m=n*n;a=m%10;b=m/10%10;c=m/100%10;if(a==b
8、
9、b==c
10、
11、a==c)printf("%d",m);}}5、编程实现如下功能,即:(1)输入若干个学生成绩,若输入数据大于100或小于0(除-999外),则不作记录,重新输入;当输入–999,则输入结束。(2)统计所有输入成绩的最大值、最小值、成绩个数、平均值,并输出之。参
12、考解答:#include#includevoidmain(){intmark,n=0,sum=0;intmax=0,min=100;printf("Inputscore(0--100),-999结束输入:");for(;;){scanf("%d",&mark);if(mark==-999)break;elseif(mark>100
13、
14、mark<0){printf("mark>100,Reinput!");exit(0);}n++;sum+=mark;if(mark>max)max=mark;elseif(mark15、ark;}sum/=n;printf("max=%dmin=%dgeshu=%daverage=%d",max,min,n,sum);}6、编程实现如下功能,即:求1到100以内所有能被13整除的数的累加和,当累加和超出100时停止累加。#includemain(){inti,sum=0;for(i=1;i<100;i++){if(i%13==0)sum+=i;if(sum>100)break;}printf(“i=%d,sum=%d”,i,sum);}