C语言程序设计精选44例.docx

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
问题 1: 三个数比较大小题目描述从键盘上输入0~100之间的三个数,按从小到大的顺序输出。输入输入只有一行,为三个整数。输出按从小到大输出这三个数。样例输入15 10 20样例输出10 15 20提示用if语句判断各种情况可以解决这个问题。解答:#includestdio.hint main(){ int a,b,c; scanf(%d%d%d,a,b,c); if(a=b) { if(b=c) printf(%d %d %d,c,b,a); else { if(a=c) printf(%d %d %d,b,c,a); else printf(%d %d %d,b,a,c); } } else { if(bc) printf(%d %d %d,a,b,c); else { if(ac) printf(%d %d %d,a,c,b); else printf(%d %d %d,c,a,b); } }}问题 2: 输出是m的倍数或n的倍数、但不是m和n的公倍数的数题目描述输出1~k之间是m的倍数或n的倍数、但不是m和n的公倍数的数,其中1=m,nk100。输入输入三个整数,依次为k、m、 n。输出从小到大输出符合题意的所有整数,两数之间用一个空格分开。样例输入15 2 3样例输出2 3 4 8 9 10 14 15提示难点在于输出格式的控制:空格在数的中间,学会用循环时边界情况的特殊处理。解答:#includestdio.hint main(){int k,m,n,i,a;scanf(%d%d%d,k,m,n);if(m=n)a=n;elsea=m;printf(%d,a);for(i=a+1;i=k;i++)if(i%m==0||i%n==0){if(i%m==0i%n==0)printf();elseprintf( %d,i);}}问题 3: A+B Problem题目描述计算a+b,0=a,b1000。输入输入有多对整数a和b组成,每对a和b占一行,a,b用空格分开。输出每行输出一个a+b的值,顺序与输入对应。样例输入1 210 20样例输出330提示OJ系统上测试输入结束符为EOF(End Of File),其值为-1。用scanf()把文件所有内容读完后,会读到EOF,所以可以用来判断输入是否完成,测试时可以用Ctrl+Z产生EOF。本题解法参看FAQ。解答:#includestdio.hint main(){int a,b;for(;scanf(%d%d,a,b)!=EOF;)printf(%d\n,a+b);}问题 4: A+B Problem (II) : Input/Output Pratice题目描述计算a+b,0=a,b1000。输入输入的第一行是一个整数N,后面有N对整数a和b,每对a和b占一行,a,b用空格分开。输出每行输出一个a+b的和,顺序与输入对应。样例输入21 210 20样例输出330提示N给出了测试样例数,用for循环处理方便。解答:#includestdio.hint main(){int n,a,b,i;scanf(%d,n);for(i=1;i=n;i++){scanf(%d%d,a,b); printf(%d\n,a+b);}}问题 5: A+B Problem (III) : Input/Output Pratice题目描述计算a+b,0=a,b1000。输入输入有多对整数a和b组成,每对a和b占一行,a,b用空格分开。当测试样为0 0时表示输入结束,0 0不参与运算。输出每行输出一个a+b的值,顺序与输入对应。样例输入1 210 200 0样例输出330提示练习break的使用。解答:#includestdio.hint main(){int a,b;for(;scanf(%d%d,a,b);){ if(a==0b==0)break;printf(%d\n,a+b);}}问题 6: A+B Problem (IV) : Input/Output Pratice题目描述计算a+b,0=a,b1000。输入输入有多对整数a和b组成,每对a和b占一行,a,b用空格分开。输出每行输出一个a+b的值,顺序与输入对应。每个格式样例之间用一个空行分隔开。样例输入1 210 2015 35样例输出33050提示由于输出的和比空行多一个,所以全部计算放在一个循环里是不行的,必须要特殊处理开头或者结尾。解答:#includestdio.hint main(){int i,a,b;i=1;scanf(%d%d,a,b);printf(%d\n,a+b);i++;for(;scanf(%d%d,a,b)!=-1;)printf(\n%d\n,a+b);} 问题 7: n个数的最大值和最小值问题描述找出n

文档评论(0)

ze122230743 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档