循环结构作业2详解.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
循环结构作业2:编程练习 注:请将调试成功的程序代码(或截图)拷贝到后面的作业模板中,打印出待提交,同时请保存好作业的电子版。 1.编写程序,要求找到用户输入的一串数中的最大值。程序需要提示用户一个一个输入数。当用户输入0或负数时, 程序必须显示输入的最大非负数: Enter a number : 60 Enter a number : 38.3 Enter a number : 4.89 Enter a number : 100.62 Enter a number : 75.2295 Enter a number : 0 The largest number entered was 100.62 注意,输入的数不要求一定是整数。(While) #includestdio.h int main() { float a=1,b=0; while(a0) { printf(Enter a number :); scanf(%f,a); if(ab) b=a; } printf(The largest number entered was :%f\n,b); } 编写程序,要求用户输入两个整数然后计算并显示这两个整数的最大公约数(GCD): Enter two integers: 12 28 Greatest common divisor :4 提示:求最大公约数的经典算法是Euclid算法,方法如下:分别让变量m 和n存储两个数的值,始终保证m最后存储的是两个数中较大的值;用m除以n;把除数保存在m中,而把余数保存在n中;如果n为0,那么停止操作,m中的值是GCD;否则,从m除以n开始重复上述除法过程。 (While) #includestdio.h int main() { int m,n,t; printf(Enter two integers :); scanf(%d%d,m,n); if (nm) {t=m;m=n;n=t;} while(n!=0) { t=m; m=n; n=t%n; if (nm) {t=m;m=n;n=t;} } printf(The largest number entered was :%d \n,m); } 编写程序(While),要求用户输入一个分数,然后将其约分为最简分式: Enter a fraction:6/12 In lowest terms:1/2 #includestdio.h int main() { int m,n,t,a,b; printf(Enter a fraction :); scanf(%d/%d,m,n); a=m;b=n; if (nm) {t=m;m=n;n=t;} while(n!=0) { t=m; m=n; n=t%n; if (nm) {t=m;m=n;n=t;} } a=a/m;b=b/m; printf(The largest number entered was :%d/%d \n,a,b); } 编写程序可,实现1位或者多位数的反向输出。例如输入12345,则输出54321。提示:使用do_while循环重复执行求余和求商操作,让求出的商重置该数,直到值达到0为止。而余数r则通过算式n=n*10+r重复累加到新数n上。 #includestdio.h int main() { int a; int b = 0; scanf(%d,a); do { b = b * 10 +(a % 10); a = a / 10; }while( a ); printf(%d\n,b); } 编写程序,将输入的一个长整型数x中每一位上为偶数的数依次取出,构成一个新数返回。高位仍在高位,低位仍在低位。例如:程序运行时输入:124578902,程序输出:24802. 若输入:1357,输出:0 #includestdio.h int main() { int a,c=0,i=0; int b = 0; scanf(%d,a); do { b=a%10; a =a/10; if(b%2==0) { if(i=0) {c=b;i++;} else { c=b*i*10+c; i++;}

文档评论(0)

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

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

1亿VIP精品文档

相关文档