C程序设计教程第三版作业题解(第四章).docxVIP

C程序设计教程第三版作业题解(第四章).docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 统计全单位人员的平均工资,单位人数不固定,工资数从键盘先后输入,当输入-1 时表示输入结束。 //程序 1 用 if 语句 #includestdio.h int main() { int n=0; float gz=0,sum=0,pj; printf(请输入职工工资(数据用空格分隔,输入-1 结束输入):\n); while(gz!=-1) { scanf(%f,gz); if(gz==-1)break; sum=sum+gz; n++; } pj=sum/n; printf(平均工资是:%10.2f\n,pj); return 0; } //注意,如 gz 定义成 double(双精度),则输入数据后要用加.0,如最后的-1 要用-1.0 的形式输入, 否则出错。 一个单位下设三个班组,每个班组人数不固定。需要统计每个班组的平均工资。分别输入三个班组所有职工工资,当输入-1 时,表示该班组的输入结束。输入出班组号和该班组的平均工资 #includestdio.h int main () { int gz,i,n; float sum,pj; for(i=1;i=3;i++) {/*外循环控制班组序号*/ n=0;gz=0;sum=0; printf(请输入第%d 组的职工工资 (数据用空格分隔,输入-1 结束输入):\n,i); while(gz!=-1) { /*内循环计算班组平均工资*/ scanf(%d,gz); if(gz==-1)break;/*判断是输入结束标识,则跳出循环,数据不累加,也不记人数*/ sum=sum+gz; n++; } pj=sum/n; /*根据工资累加数和总人数求平均值*/ printf(第%d 组的平均工资是:%10.2f\n,i,pj); } return 0; } 百元买百鸡:公鸡每只值 5 元,母鸡每只值 3 元,小鸡 3 只值 1 元。100 元买 100 只鸡, 1 / 8 公鸡母鸡和小鸡各多少只?有哪些买法? #includestdio.h int main() { int g,m,x; /*定义公鸡、母鸡和小鸡数*/ printf(百元买百鸡可能的解如下:\n); for(g=0;g=20;g++)/*公鸡最多能买 20 只*/ for(m=0;m=34;m++)/*母鸡最多能买 34 只*/ for(x=0;x=(100-g-m);x++)/*小鸡是 100-公鸡和母鸡数 */ if(5*g+3*m+x/3==100 x%3==0 g+m+x==100) /*限制百元买百鸡,且小鸡是 3 的倍数*/ printf(公鸡%2d 只,母鸡%2d 只,小鸡%2d 只\n,g,m,x); return 0; } 猴子吃桃问题。第一天摘了若干桃子,当即吃了一半,还不过瘾,又吃了一个。第二天又将第一天 剩下的桃子吃掉一半,又多吃了一个。以后每天早上都讲前一天剩下的桃子吃一半零一个。第10 天再想吃时,只剩一个桃子了。求第一天共摘了多少桃子。 // 程 序 1 #includestdio.h int main() { /*定义 x1 为前 1 天的桃子数,x2 为后一天的桃子数*/ int x1,x2,i; x2=1;//第 10 天开始往前推,因为第 10 天的桃子数为 1, for(i=10;i1;i--)/*第 10 天开始前推,循环反复推到第一天*/ { x1=(x2+1)*2;//由题意可知,x2=x1/2-1 ,则有x1=(x2+1)*2 x2=x1;/*再递推计算,将旧的前 1 天,变成新的后 1 天,推出新的前 1 天*/ } printf(第 1 天的桃子总数是:%d\n,x1); return 0; } 输入两个正整数m 和n,求其最大公约数和最小公倍数。 //程序1 穷举法: #includestdio.h int main() { int a,b,c; printf(请输入两个正整数:\n); scanf(%d,%d,a,b); //交换两个数,始终让较大的一个等于a,较小的一个数等于b if(ab) { c=a; a=b; b=c; } /*先假定两数中较小的数b 为最大公约数C,看两数除以最大公约数是否余数为零, 不为零,再往下减,直到a 和 b 除以c 余数都为0 结束*/ for(c=b;a%c||b%c;c--); //a%c||b%c 相当于a%c==0b%c==0 2 / 8 /*注意上面for 后面的分号,此处的for 循环体是一个空语句。循环终止条件是表达式a%c||b%c 为零。即两个取余的值都为零。如果用while 循环,则可写成: c= b; while(a%c||b%c){c--;}*/ printf(他们的最大公约

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档