循环结构作业2新【教学试题】_第1页
循环结构作业2新【教学试题】_第2页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、循环结构作业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 提示:

2、(1)程序开始设置一存放最大值的变量,如max,给一初值,循环输入一数据和max比较大小,若输入的数大,则将此值赋值给max,让max中始终存储两者中的最大值。 (2)使用while循环。While(x0).;(3)试一下最后显示最大值时用%g和%f有什么不同?2.编写程序,要求用户输入两个整数然后计算并显示这两个整数的最大公约数(GCD): Enter two integers: 12 28 Greatest common divisor :4提示:求最大公约数的经典算法是Euclid算法,方法如下:分别让变量m 和n存储两个数的值,始终保证m最后存储的是两个数中较大的值;用m除以n;把除数

3、保存在m中,而把余数保存在n中;如果n为0,那么停止操作,m中的值是GCD;否则,从m除以n开始重复上述除法过程。 (2)用While循环3.编写程序可,实现1位或者多位数的反向输出。例如输入一个整数12345,则输出一个整数54321。提示:(1)使用do_while循环重复执行该数x对10的求余r和求商s操作,实现数字分离。(2)每次让求出的商s重置该数x(即x=s),直到值达到0为止。(3)余数r则通过算式n=n*10+r重复累加到新数n上.4.编写程序,将输入的一个长整型数x中每一位上为偶数的数依次取出,构成一个新数返回。高位仍在高位,低位仍在低位。例如:程序运行时输入:1245789

4、02,程序输出:24802. 若输入:1357,输出:05.编写程序,要求显示出单月的日历。用户说明这个月的天数和本月起始日是星期几: Enter number of days in month:31 Enter starting day of the week(1=Sun, 7=Sat):3 SunMonTueWedThuFriSat 12345 6789101112 13141516171819 20212223242526 2728293031提示:(1) 程序提示用户输入打印月的天数n和第1天的顺序号,先输出表头。printf(%-5s%-5s%-5s%-5s%-5s%-5s%-5sn

5、,Sun,Mon,Tue,Wed,Tue,Fre,Sat);(2)上面既然规定了一个项的输出占5个域宽,那么1号前面的项数(如本题是2)共空了2*5个空格,可以使用循环输出这些空格。(3)用for循环输出变量i从1到n的值。在循环中,用if语句判定i是否是一个星期的最后一天,如果是,就显示一个换行符。如本题( i+2)%7=0 条件成立换行。 6.编写程序(for),用符号(如*)输出一个钻石形状。运行程序输入n值,则钻石型的上三角就为n行,下三角为n-1行。如下图为n=6的图形。7. 编写程序,利用公式PI/4=1-1/3+1/5-1/7+. 计算PI的近似值。 (1)给定项数计算。例如计算

6、到分母9999的那项为止,9999即是程序运行时用户输入的项。 (2)给定精度计算。例如计算到累加项()1/n的绝对值小于等于10-6, 0.000001即是程序运行时用户输入的精度。8. 斐波纳契数列。有一种数列:0,1,1,2,3,5,8,13,21,34,。它以0和1开头,接下来每个数是其前两个数之和。数学家斐波纳契(Fibonacci)首先发现并研究这种数列的性质与应用,该数列因此得名。自然界本身就存在这样的数列,人们在描述螺旋上升的数据时通常要用到它。该数列有个令人称奇的特性:对于连续的两个数来说,前一个数与后一个数之比趋向于常量0.618,后一个数与前一个数之比趋向于常量1.618

7、 。由于这两个数在自然界的许多方面得到体现,符合人类的审美标准因此被称为“黄金分割率”。建筑师经常按黄金分割率设计窗户、房间和建筑物的长宽比,明信片的长宽也往往设计成这一比率。斐波纳契数列的迭代形式如下: 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 。(穷举法一点儿也不陌生,几乎在所有的程

8、序中都有它的影子,它是与逻辑紧密联系在一起的。所谓穷举也称为蛮干(Brute Force)法,就是逐个访问与处理所给定的大量数据与内容,每个元素访问且仅访问一次。计算机所具有的高速计算的特性确实为穷举法的广泛应用提供了良好的物质基础,并发挥了高速度的优势,从而使穷举法能够成为一种可行的算法。现在程序设计中或多或少地都要用到它。很多问题除了用穷举法还找不到别地方法去解答。可见穷举法做为没有办法的办法而具备了通用行。当然,由于它也显得直接而简单,因而容易理解与普及,由此可见,不管喜欢与否穷举法都是一种很重要的方法。)9完数的判断。完数即“完美的数”。如果一个数恰好是小于它的各个不同因子之和,那么就

9、称该数为完数。比如说,6的因子1、 2、 3 ,而6123,因此6就是一个完数。显然,要判断一个数是否是为完数的关键在于,对它进行适当的因子分解,以得到小于它本身的所有因子。顺乎自然的因子分解方法是遍历试验,也就是说,假设要判断数n是否为完数,那么就从1开始到数n-1,逐个看它是否为n的因子(能整除n)。将各个因子累加起来,最后与这个数进行比较,如果相等该数就是完数。请编写程序求解1000之内的所有完数。10. 素数的判断。素数定义:除了1和其本身之外,没有其它的因子,这样的数叫做素数。编写程序求出比x大的最初k(k1000)个素数。最小的素数是 2 。例如:程序运行时输入:7 10,输出:1

10、1 13 17 19 23 29 31 37 41 43。若输入:-7 10, 输出:2 3 5 7 11 13 17 19 23 29。11. 输入一行字符(回车结束),分别统计出其中英文字母、空格、数字字符和其它字符四类的各自的数目。提示: while( (c=getchar() !=n)。 。12. 翻译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。例如,可以按如下规律将电文变成密码: 将字母A变成字母E,a变成e, 即变成其后的第4个字母. W变成A ,X变成B,Y变成C,Z变成D. 字母按上述规律转换,非字母字符不变。例如“China!”转换为“

11、Glmre!”.(请参看ASCII表,大写字母后并非紧跟小写字母,还有其它字符) 输入一行字符,要求输出其相应的密码。13.编写程序可以把大写字母格式的电话号码翻译成数值格式:Enter phone number: CALLATT2255288提示:字母在键盘上的对应关系:2=ABC 3=DEF 4=GHI 5=JKL 6=MNO 7=PRS 8=TUV 9=WXY,如果原始的电话号码包含非字母的字符(例如,数字或标点符号)那么保留下来不做变化:Enter phone number : 1-800-COL-LECT1-800-265-532814. 程序反复做以下工作:提示输入学号(numbe

12、r),并提示结束标记是什么(本程序用-1作为循环结束的标记)。 由用户输入学号。程序随后分别提示输入各门课成绩(如: course 1:),由用户输入学生3门课成绩,最后统计该学生3门课的平均成绩并显示。成绩和平均分均为实型,显示的平均分保留2位小数。当用户在提示信息“enter students number (-1 to end): ”后输入-1时结束程序。*15. 飞机票有冗长的标识数字(位数不定),例如47715497443。为了有效,最后一位数字必须与以其他的数字为整体除以7后的余数相匹配。(例如4771549744除以7的余数为3.)编写程序检查机票号是否有效:Enter ticket number : 47715497443VALID提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论