(实验三)循环结构程序设计_第1页
(实验三)循环结构程序设计_第2页
(实验三)循环结构程序设计_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、(实验三)循环结构程序设计 实验三 循环结构程序设计 一、实验目的 ? ? ? ? ? 熟练掌握while语句及其嵌套形式的使用 熟练掌握do-while语句及其嵌套形式的使用 熟练掌握for语句及其嵌套形式的使用 了解并掌握continue与break语句在循环结构中的作用 熟悉循环结构程序段中语句的的执行过程 二、实验环境 ? 个人计算机一台,piii500(或同等性能)以上cpu,128mb以上内存,500mb以 上硬盘剩余空间。 ? windows2000、windows xp或win 7操作系统 ? code:blocks(版本12.11或近似版本,英文版) 三、实验内容 1. 数列

2、求和 在花括号()之间填写适当的语句,将程序补充完整实现下述功能,并上机运行验证。 程序的功能从键盘上输入一个整数n,并计算以下数列的前n项和: 例如, 输入:10 输出:s=14.266510 /*example-11.c*/ #include main() /*求前n项和,结果存放在s当中*/ /*可根据需要填入任意多条语句*/ int n, i; float s; scanf( 1 printf( 【解题提示】 使用for语句或while语句皆可。注意运算对象的类型,“1/2”的值是0而不是0.5。 2. 素数 在花括号()之间的横线中填写适当的语句,将程序补充完整实现下述功能,并上机运

3、行验证。 程序的功能是从键盘上输入一个整数n,就n(包括n)以内的素数。素数是指:只能被1和它本身整除的数(除了1以外,1不是素数)。 例如, 输入:50 输出:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 /*example-12.c*/ #include main() printf(以下是小于%d的素数:nfor(i=2; ; i+) printf( for(j = 2; ; j+) if( ) printf( if(i % j = 0) /*列举2n之间的所有数*/ int n, i, j; printf(scanf( /*下面这个循环判断i是否是素数

4、*/ /*如果i能够被j整除,就意味着i不是素数,循环可以提前终止*/ /*满足括号中的条件意味着n是素数,则输出*/ 【解题提示】 我们可以有以下思路用于判断某一个整数是否为素数: 给定一个整数n,我们可以从2开始至n-1逐一检查在这范围之内的整数是否可以被n整除。如果可以,则说明整数n不是素数。如果从2开始至n-1范围之内的所有整数都不可以被n整除,那说明整数n符合素数的定义,所以整数n是一个素数。 判断整数n能否被整数m整除的方法是:n%m=0。如果n对m取余等于0,那么n能够被m整除;反之,n不能被m整除。 2 3. 水仙花数 在花括号()之间填写适当的语句,将程序补充完整实现下述功能

5、,并上机运行验证。 程序的功能是求出所有的“水仙花数”。所谓的“水仙花数”是指这样的一个三位数:其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。 /*example-13.c*/ #include main() 【解题提示】 (1)“水仙花数”是三位数,因此只能是100999之间的数。 (2)列举100到999之间的每个数字,判断它是否是水仙花数,如果是就输出,不是就不输出。 (3)“水仙花数”各位数字的立方和等于该数本身,因此判断一个数n是不是“水仙花数”,要获得它各个位上的数字,然后求立方和,看立方和是否等于n。 四、总结与思考 循环结构是程序设计

6、的三大基本控制结构之一,c语言中用于实现选择结构的语句有: ? while语句 ? do-while语句 ? for语句 此外,还要注意continue语句和break语句在循环结构中的作用。编程时,可以不使用continue语句和break语句,但笔试中一定会考查到。 在完成以上实验的基础上,有兴趣的同学可以在课后思考以下问题: 思考题:打印等腰三角形 在花括号()之间填写适当的语句,将程序补充完整实现下述功能,并上机运行验证。 程序的功能是从键盘上输入一个整数n,然后打印出n层有高的等腰三角形(由“*”组成)。 例如,当n为5时,如图1所示。 3 图1 5层高的等边三角形 /*think-

7、3.c*/ #include main() 【解题提示】 实际上,这个等腰三角形是由“*”和空格两种符号构成。我们要做的,就是判断出每层要输出多少个“*”和空格。 无论多高的等腰三角形,第一层都是1个“*”,第二层是3个“*”,第三层是5个“*”?最后一层都是“*”。很明显,这是一个公差为2的等差数列。等差数列的第n项是: sn = s1+ (n-1) * d(d为公差) 因此,n层高的等腰三角形,在第n层就要打印出1+(n-1)*2个“*”,这是打印“*”号最多的一层。那么,在第x层(x(1)求出该成要打印的星号数量:1+(x-1)*2 (2)求出该成要打印的空格数量:y = 1+(n-1)*2) (1+(x-1)*

温馨提示

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

评论

0/150

提交评论