C语言程序设计实例分析30道(含答案).docxVIP

C语言程序设计实例分析30道(含答案).docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计实例分析30道【题目1】:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?【程序分析】:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。【程序源代码】:#includestdio.hint main(){inti,j,k;printf(\n);for(i=1;i5;i++) { // 以下为三重循环for(j=1;j5;j++) {for (k=1;k5;k++) { // 确保i、j、k三位互不相同if (i!=ki!=jj!=k) { printf(%d,%d,%d\n,i,j,k);}}}}}【题目2】:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发放奖金总数?【程序分析】:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。【程序源代码】:#includestdio.hint main(){doublei;double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;printf(你的净利润是:\n);scanf(%lf,i);bonus1=100000*0.1;bonus2=bonus1+100000*0.075;bonus4=bonus2+200000*0.05;bonus6=bonus4+200000*0.03;bonus10=bonus6+400000*0.015;if(i=100000) {bonus=i*0.1;} else if(i=200000) {bonus=bonus1+(i-100000)*0.075;} else if(i=400000) {bonus=bonus2+(i-200000)*0.05;} else if(i=600000) {bonus=bonus4+(i-400000)*0.03;} else if(i=1000000) {bonus=bonus6+(i-600000)*0.015;} else if(i1000000) {bonus=bonus10+(i-1000000)*0.01;}printf(提成为:bonus=%lf,bonus);printf(\n);}【题目3】:一个正整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?【程序分析】:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。【程序源代码】:#include stdio.h#include math.hint main() {longinti,x,y;for (i=1;i100000;i++) { x=sqrt(i+100); // x为加上100后开方后的结果 y=sqrt(i+268); // y为再加上168后开方后的结果 if(x*x==i+100 y*y==i+268){ //如果一个数的平方根的平方等于该数,这说明此数是完全平方数printf(\n%ld\n,i); } }}【题目4】:输入某年某月某日,判断这一天是这一年的第几天?【程序分析】:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。【程序源代码】:#include stdio.hint main(){intday,month,year,sum,leap;printf(\n请输入年、月、日,格式为:年,月,日(2015,12,10)\n);scanf(%d,%d,%d,year,month,day); // 格式为:2015,12,10 switch(month) // 先计算某月以前月份的总天数 {case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;c

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档