当前位置:首页 > C语言上机实验指导
实验四 循环结构程序设计
一、实验目的
? ? ? ? ?
熟练掌握while语句及其嵌套形式的使用 熟练掌握do-while语句及其嵌套形式的使用 熟练掌握for语句及其嵌套形式的使用
了解并掌握continue与break语句在循环结构中的作用 熟悉循环结构程序段中语句的的执行过程
二、实验环境
? 个人计算机一台,PIII500(或同等性能)以上CPU,128MB以上内存,500MB以上
硬盘剩余空间,SVGA彩色显卡。 ? Windows XP操作系统
? Microsoft Visual C++ 6.0(中文/英文)版
三、实验内容
1. 数列求和
在花括号({})之间填写适当的语句,将程序补充完整实现下述功能,并上机运行验证。 程序的功能从键盘上输入一个整数n,并计算以下数列的前n项和:
例如, 输入:10
输出:s=14.266510
/*example-11.c*/ #include
C语言上机实验指导
}
printf(\
/*求前n项和,结果存放在s当中*/ /*可根据需要填入任意多条语句*/
int n, i; float s;
scanf(\
【解题提示】
使用for语句或while语句皆可。注意运算对象的类型,“1/2”的值是0而不是0.5。 2. 素数
在花括号({})之间的横线中填写适当的语句,将程序补充完整实现下述功能,并上机运行验证。
程序的功能是从键盘上输入一个整数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
printf(\以下是小于%d的素数:\\n\for(i=2; ; i++) {
for(j = 2; ; j++) {
/*列举2~n之间的所有数*/
int n, i, j;
printf(\scanf(\
/*下面这个循环判断i是否是素数*/
/*如果i能够被j整除,就意味着i不是素数,循环可以提前终止*/
·26· 实验四 循环结构程序设计
}
}
printf(\
}
if( ) printf(\
if(i % j == 0)
/*满足括号中的条件意味着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整除。
3. 水仙花数
在花括号({})之间填写适当的语句,将程序补充完整实现下述功能,并上机运行验证。 程序的功能是求出所有的“水仙花数”。所谓的“水仙花数”是指这样的一个三位数:其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。
/*example-13.c*/ #include
【解题提示】
(1)“水仙花数”是三位数,因此只能是100~999之间的数。
(2)列举100到999之间的每个数字,判断它是否是水仙花数,如果是就输出,不是就不输出。
·27· C语言上机实验指导
(3)“水仙花数”各位数字的立方和等于该数本身,因此判断一个数n是不是“水仙花数”,要获得它各个位上的数字,然后求立方和,看立方和是否等于n。
四、总结与思考
循环结构是程序设计的三大基本控制结构之一,C语言中用于实现选择结构的语句有: ? while语句 ? do-while语句 ? for语句
此外,还要注意continue语句和break语句在循环结构中的作用。编程时,可以不使用continue语句和break语句,但笔试中一定会考查到。
在完成以上实验的基础上,有兴趣的同学可以在课后思考以下问题:
思考题:打印等腰三角形
在花括号({})之间填写适当的语句,将程序补充完整实现下述功能,并上机运行验证。 程序的功能是从键盘上输入一个整数n,然后打印出n层有高的等腰三角形(由“*”组成)。
例如,当n为5时,如图1所示。
图1 5层高的等边三角形
/*think-3.c*/ #include
·28·
共分享92篇相关文档