资源描述:
《C语言程序设计 第二版 教学课件 作者 钟廷志 李如超习题答案 第5章习题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章习题答案一、选择题1、C2、A3、A4、D5、A6、B7、D二、填空题1、5462、10243、104、sjhiu5、06、x*2+y*4==907、13三、编程题1.编程实现以下功能:输出10—100之间每位数的乘积大于每位数的和的数。#includevoidmain(){intk,r,q,n=0;//定义变量k=10;//从10开始取数while(k<100)//判断循环是否结束{r=k/10;//取十位上的数字并赋给变量rq=k%10;//取个位上的数字并赋给变量qif(r*q>r+q)//进行是否满
2、足条件的判断{printf("%4d",k);//if条件满足时输出该值n++;//用于统计输出数的个数if(n%5==0)printf("");//用于第行只输出五个数的换行控制}k++;//使变量k增值,即取下一个数}}2.编程实现以下功能:输出一元人民币换成一分、两分和五分的所有兑换方案。#includevoidmain(){inta,b,c;for(a=0;a<101;a++)for(b=0;b<51;b++)3for(c=0;c<21;c++)if(a+b*2+c*5==100)printf("1分
3、:%d2分:%d5分:%d",a,b,c);}3、编程实现以下功能:从3个红球、5个白球和6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案。#includevoidmain(){intred,whide,black,num=0;//定义变量for(red=0;red<=3;red++)//通过循环判断在三个红球、五个白球和六for(whide=1;whide<=5;whide++)//个黑球中抽出八个球的所有可能的方案for(black=0;black<=6;black++)if(red+whi
4、de+black==8)//判断所取的球是否满足条件{num++;printf("the.case%2d:red=%d,whide=%d,black=%d",num,red,whide,black);}//条件满足,输出结果}4、苹果每个0.8元,第1天买两个苹果,从第2天开始,每天买前1天的两倍,直到购买的苹果个数达到不超过100的最大值。编写程序求每天平均花多少钱?#include#includevoidmain(){intday,num,totnum;//定义变量,设day为天数,tot
5、num为所买苹果数floatmon,aver,totmon;//定义变量,设totmon为买苹果总共费用,//aver为平均每天买苹果所需费用num=2;//第1天买两个苹果mon=0.8*2;//第1天买苹果所需花费totmon=mon;totnum=num;for(day=2;totmon<100;day++)//从第2天开始计算所需费用及其所买的苹果个数{if(totnum>100)break;//当所买苹果数大于100时退出循环,此时得到的//k值即是不超过100的最大值mon*=2;//从第2天起每天所花的费用num*=
6、2;//从第2天起每天所买的个数totmon=totmon+mon;//所花费用的总和totnum=totnum+num;//所买个数的总和}3aver=(totmon-mon)/(day-2);//计算平均每天花费printf(“theaverageofeverydayis%fyuan”,aver);printf(“Thetotalnumlberoftheappleis:%d”,totnum-num);}3、编写程序,找出1~99之间的全部同构数。同构数即为:出现在平方数的右面。例如:5是25右边的数,25是625右边的
7、数,5和25都是同构数。#includevoidmain(){intj,k,p;//定义变量,j为1-99之间的数,k为j的平方,p为k右边的数j=2;//对j赋初值while(j<99)//用while循环判断j是否小于99,当不小于99时,退出循环{k=j*j;if(j<10)p=k%10;//当j在10以内时,它的平方小于100,平方//右边的数应该只有一位,因此对10进行取余elsep=k%100;//当j在10到99时,它的平方在100与10000//之间,因此用它的平方对100取余if(p==j)//
8、当此数与它平方右边的数相等时打印出结果,printf(“thenumberis:%d”,j);j++;//对j自加,为进行下一位数计算作准备}}6.用100元买100只鸡,其中公鸡每只3元,母鸡每只2元,小鸡每只0.5元,问一共有多少种买法。#