1 / 16
文档名称:

循环结构作业2.doc

格式:doc   大小:105KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

循环结构作业2.doc

上传人:63229029 2017/4/22 文件大小:105 KB

下载得到文件列表

循环结构作业2.doc

文档介绍

文档介绍:循环结构作业 2 :编程练****注:请将调试成功的程序代码(或截图)拷贝到后面的作业模板中,打印出待提交,同时请保存好作业的电子版。 1. 编写程序, 要求找到用户输入的一串数中的最大值。程序需要提示用户一个一个输入数。当用户输入 0 或负数时,程序必须显示输入的最大非负数: Enter a number : 60 Enter a number : Enter a number : Enter a number : Enter a number : Enter a number :0 The largest number entered was 注意,输入的数不要求一定是整数。( While ) #include<> int main() { float a=1,b=0; while(a>0) { printf("Enter a number :"); scanf("%f",&a); if(a>b) b=a; } printf("The largest number entered was :%f\n",b); } 2. 编写程序,要求用户输入两个整数然后计算并显示这两个整数的最大公约数( GCD ): Enter two integers: 12 28 mon divisor :4 提示: 求最大公约数的经典算法是 Euclid 算法, 方法如下: 分别让变量 m和n 存储两个数的值, 始终保证 m 最后存储的是两个数中较大的值;用 m 除以 n ;把除数保存在 m 中,而把余数保存在 n 中;如果 n为0 ,那么停止操作, m 中的值是 GCD; 否则,从 m 除以 n 开始重复上述除法过程。( While ) #include<> int main() { int m,n,t; printf("Enter two integers :"); scanf("%d%d",&m,&n); if (n>m) {t=m;m=n;n=t;} while(n!=0) { t=m; m=n; n=t%n; if (n>m) {t=m;m=n;n=t;} } printf("The largest number entered was :%d \n",m); } 3. 编写程序( While ) ,要求用户输入一个分数,然后将其约分为最简分式: Enter a fraction: 6/12 In lowest terms:1/2 #include<> int main() { int m,n,t,a,b; printf("Enter a fraction :"); scanf("%d/%d",&m,&n); a=m;b=n; if (n>m) {t=m;m=n;n=t;} while(n!=0) { t=m; m=n; n=t%n; if (n>m) {t=m;m=n;n=t;} } a=a/m;b=b/m; printf("The largest number entered was :%d/%d \n",a,b); } 4. 编写程序可, 实现 1 位或者多位数的反向输出。例如输入 12345 , 则输出 54321 。提示: 使用 do_while 循环重复执行求余和求商操作,让求出的商重置该数,直到值达到 0 为止。而余数 r 则通过算式 n=n*10+r 重复累加到新数 n 上。#include<> 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); } 5. 编写程序,将输入的一个长整型数 x 中每一位上为偶数的数依次取出,构成一个新数返回。高位仍在高位,低位仍在低位。例如:程序运行时输入:124578902, 程序输出:24802. 若输入: 1357, 输出: 0 #include<> 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++;} }} while( a ); printf("%d\n",c); } 6. 编写程序,要求显示出单月的日历。用户说明这个月的天数和本月起始日是星期几: Enter number of days in month: 31 Enter starting day of the week(1=Sun