77范文网 - 专业文章范例文档资料分享平台

循环结构作业

来源:网络收集 时间:2020-04-20 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

循环结构作业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)

2.编写程序,要求用户输入两个整数然后计算并显示这两个整数的最大公约数(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)

3.编写程序(While),要求用户输入一个分数,然后将其约分为最简分式: Enter a fraction:6/12 In lowest terms:1/2

4.编写程序可,实现1位或者多位数的反向输出。例如输入12345,则输出54321。提示:使用do_while循环重复执行求余和求商操作,让求出的商重置该数,直到值达到0为止。而余数r则通过算式n=n*10+r重复累加到新数n上。

5.编写程序,将输入的一个长整型数x中每一位上为偶数的数依次取出,构成一个新数返回。高位仍在高位,低位仍在低位。例如:程序运行时输入:124578902,程序输出:24802. 若输入:1357,输出:0

6.编写程序,要求显示出单月的日历。用户说明这个月的天数和本月起始日是星期几: Enter number of days in month:31

Enter starting day of the week(1=Sun, 7=Sat):3 Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

提示:程序不像看上去那么难。最重要的内容是for语句使用变量i从1计数到n,n是此月的天数,显示出i的每个值。在循环中,用if语句判定i是否是一个星期的最后一天,如果是,就显示一个换行符。

7.编写程序(for),用符号(如*)输出一个钻石形状。运行程序输入n值,则钻石型的上三角就为n行,下三角为n-1行。如下图为n=6的图形。

8. 编写程序,利用公式PI/4=1-1/3+1/5-1/7+... 计算PI的近似值。

(1)给定项数计算。例如计算到分母9999的那项为止,9999即是程序运行时用户输入的项。

-6

(2)给定精度计算。例如计算到累加项(±)1/n的绝对值小于等于10, 0.000001即是程序运行时用户输入的精度。

9. 斐波纳契数列。

有一种数列:0,1,1,2,3,5,8,13,21,34,。。。它以0和1开头,接下来每个数是其前两个数之和。数学家斐波纳契(Fibonacci)首先发现并研究这种数列的性质与应用,该数列因此得名。自然界本身就存在这样的数列,人们在描述螺旋上升的数据时通常要用到它。该数列有个令人称奇的特性:对于连续的两个数来说,前一个数与后一个数之比趋向于常量0.618,后一个数与前一个数之比趋向于常量1.618 。由于这两个数在自然界的许多方面得到体现,符合人类的审美标准因此被称为?黄金分割率?。建筑师经常按黄金分割率设计窗户、房间和建筑物的长宽比,明信片的长宽也往往设计成这一比率。 斐波纳契数列的迭代形式如下: F0 = 0 (n=0) F1 = 1 (n=1) Fn = Fn-1 + Fn-2 (n>=2) 编写程序,要求将范围[m,n]之间所有的fibonacci数输出。例如,[0,30]之间的fibonacci数有7个,它们是:1 2 3 5 8 13 21 ;[1000,32767]之间有7个,它们是:1597 2584 6765 10946 17711 28657 。

10.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

(穷举法一点儿也不陌生,几乎在所有的程序中都有它的影子,它是与逻辑紧密联系在一起的。所谓穷举也称为蛮干(Brute Force)法,就是逐个访问与处理所给定的大量数据与内容,每个元素访问且仅访问一次。

计算机所具有的高速计算的特性确实为穷举法的广泛应用提供了良好的物质基础,并发挥了高速度的优势,从而使穷举法能够成为一种可行的算法。现在程序设计中或多或少地都要用到它。很多问题除了用穷举法还找不到别地方法去解答。可见穷举法做为没有办法的办法而具备了通用行。当然,由于它也显得直接而简单,因而容易理解与普及,由此可见,不管喜欢与否穷举法都是一种很重要的方法。) 11.水仙花数的判断。

333

所谓?水仙花数?是指一个3位数,其各位数字立方和等于该数本身。例如153 =1+5+3。请编写程序输出所有的水仙花数。

12.完数的判断。

完数即?完美的数?。如果一个数恰好是小于它的各个不同因子之和,那么就称该数为完数。 比如说,6的因子1、 2、 3 ,而6=1+2+3,因此6就是一个完数。

显然,要判断一个数是否是为完数的关键在于,对它进行适当的因子分解,以得到小于它本身的所有因子。顺乎自然的因子分解方法是遍历试验,也就是说,假设要判断数n是否为完数,那么就从1开始到数n-1,逐个看它是否为n的因子(能整除n)。将各个因子累加起来,最后与这个数进行比较,如果相等该数就是完数。 请编写程序求解1000之内的所有完数。 13.同构数的判断。同构数是会出现在它的平方的右边的数。如5是25右边的数,25是625右边的数,5和25都是同构数。再如十进制同构数以6开头的同构数有:

6^2=36 76^2=5776 376^2=141376 。。。

编写程序输出10000之内的所有同构数。 14. 素数的判断。

素数定义:除了1和其本身之外,没有其它的因子,这样的数叫做素数。

编写程序求出比x大的最初k(k<1000)个素数。最小的素数是 2 。例如:程序运行时输入:7 10,输出:11 13 17 19 23 29 31 37 41 43。若输入:-7 10, 输出:2 3 5 7 11 13 17 19 23 29。 15.百钱百鸡问题。

我国古代数学家张丘建在《算经》中出了一道?百钱百鸡?题,题意是:公鸡五元一只,母鸡三元一只,小鸡一元三只。用100元钱买100只鸡,问公、母、小鸡各买多少只? 编写程序输出所有满足条件的组合结果。(三种鸡型必须有,不能为0)。

16. 输入一行字符(回车结束),分别统计出其中英文字母、空格、数字字符和其它字符四类的各自的数目。

提示: while( (c=getchar()) !=‘\\n’){。。。} 。 17. 翻译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。例如,可以按如下规律将电文变成密码:

将字母A变成字母E,a变成e, 即变成其后的第4个字母. W变成A ,X变成B,Y变成C,Z变成D.

字母按上述规律转换,非字母字符不变。例如?China!?转换为?Glmre!?.(请参看ASCII表,大写字母后并非紧跟小写字母,还有其它字符)

输入一行字符,要求输出其相应的密码。

18. 程序反复做以下工作:提示输入学号(number),并提示结束标记是什么(本程序用-1作为循环结束的标记)。 由用户输入学号。程序随后分别提示输入各门课成绩(如: course 1:),由用户输入学生3门课成绩,最后统计该学生3门课的平均成绩并显示。成绩和平均分均为实型,显示的平均分保留2位小数。

当用户在提示信息?enter student's number (-1 to end): ?后输入-1时结束程序。

19.编写程序可以把大写字母格式的电话号码翻译成数值格式:

Enter phone number: CALLATT 2255288

提示:字母在键盘上的对应关系:2=ABC 3=DEF 4=GHI 5=JKL 6=MNO 7=PRS 8=TUV 9=WXY,如果原始的电话号码包含非字母的字符(例如,数字或标点符号)那么保留下来不做变化:

Enter phone number : 1-800-COL-LECT 1-800-265-5328

20.飞机票有冗长的标识数字(位数不定),例如47715497443。为了有效,最后一位数字必须与以其他的数字为整体除以7后的余数相匹配。(例如4771549744除以7的余数为3.)编写程序检查机票号是否有效:

Enter ticket number : 47715497443 VALID

提示:不要试图在单步操作中读取数,而是使用getchar函数逐个获取数字字符再转换成对应的数值,例如读取字符‘4’后转换成数值4。一次执行一个数字的除法,小心除法中不要包含最后一个数字。

第5单元 循环结构程序作业2:编程练习

姓名___彭浩_______ 专业年级_13地质学_______ 实验课选课时间____周五78节___ 分数___________ 1. #include int main () { double a,b=0; int i; for(i=1;i>0;i++) {printf(\ scanf(\ if(a>b) b=a; if(a<=0)break; } printf(\} 2#include int main () {int a,b,m,n,i; printf(\ scanf(\ if(a>=b) m=a,n=b; else m=b,n=a; while(i>0) {a=m; m=n; n=a-a/m*m; if(n==0) break; i++; } printf(\} 4. #include int main () {int a,b,s=0; printf(\scanf(\do{ b=a; a=a/10; s=s*10+b; }while(a!=0); printf(\ } 3 #include int main () {int a,b,c,m,n,i; printf(\ scanf(\ if(a>=b) m=a,n=b; else m=b,n=a; while(i>0) {c=m; m=n; n=c-c/m*m; if(n==0) break; i++; } a=a/m,b=b/m; printf(\}.

5. #include int main() { long a,b,t,s=1; scanf(\ for(b=0;a>0;a=a/10) { t=a; if(t%2==0) { b=t*s+b; s=s*10; } } printf(\} 6. #include int main() { int a,b,i,j,n; printf(\ scanf(\ printf(\day of the week(1=Sun, 7=Sat):\ scanf(\ printf(\ for(i=1;i<=a;i++) {if(i==1) for(j=1;j int main() {double a,c=0,b=-1.0; int i,n; printf(\请输入分母:\scanf(\for(i=1;i<=n;i=i+2) {b=-b; a=b*i; c=c+1/a; } printf(\ } 8(2)#include #include int main() {double a=1.0,c=0,b=-1.0; int i=1; while(fabs(1/a)>=1e-6) {b=-b; a=b*i; c=c+1/a; i=i+2; } printf(\ } 7. #include int main() { int i,j,k,n; printf(\ scanf(\ for(i=1;i<=n;i++) {for(j=1;j<=n-i;j++) printf(\ for(k=1;k<=2*i-1;k++) printf(\ printf(\ } for(i=1;i<=n-1;i++) {for(j=1;j<=i;j++) printf(\ for(k=1;k<=2*(n-i)-1;k++) printf(\ printf(\ } }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库循环结构作业在线全文阅读。

循环结构作业.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/999857.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: