(实验三)循环结构程序设计
实验三 循环结构程序设计
一、实验目的
? ? ? ? ?
熟练掌握while语句及其嵌套形式的使用 熟练掌握do-while语句及其嵌套形式的使用 熟练掌握for语句及其嵌套形式的使用
了解并掌握continue与break语句在循环结构中的作用 熟悉循环结构程序段中语句的的执行过程
二、实验环境
? 个人计算机一台,PIII500(或同等性能)以上CPU,128MB以上内存,500MB以
上硬盘剩余空间。
? Windows2000、Windows XP或Win 7操作系统 ? Code::Blocks(版本12.11或近似版本,英文版)
三、实验内容
1. 数列求和
在花括号({})之间填写适当的语句,将程序补充完整实现下述功能,并上机运行验证。 程序的功能从键盘上输入一个整数n,并计算以下数列的前n项和:
例如, 输入:10
输出:s=14.266510
/*example-11.c*/ #include
/*求前n项和,结果存放在s当中*/ /*可根据需要填入任意多条语句*/
int n, i; float s;
scanf(\
1
}
printf(\
【解题提示】
使用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++) { }
printf(\
for(j = 2; ; j++) { }
if( ) printf(\
if(i % j == 0)
/*列举2~n之间的所有数*/
int n, i, j;
printf(\scanf(\
/*下面这个循环判断i是否是素数*/
/*如果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. 水仙花数
在花括号({})之间填写适当的语句,将程序补充完整实现下述功能,并上机运行验证。 程序的功能是求出所有的“水仙花数”。所谓的“水仙花数”是指这样的一个三位数:其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。
/*example-13.c*/ #include
【解题提示】
(1)“水仙花数”是三位数,因此只能是100~999之间的数。
(2)列举100到999之间的每个数字,判断它是否是水仙花数,如果是就输出,不是就不输出。
(3)“水仙花数”各位数字的立方和等于该数本身,因此判断一个数n是不是“水仙花数”,要获得它各个位上的数字,然后求立方和,看立方和是否等于n。
四、总结与思考
循环结构是程序设计的三大基本控制结构之一,C语言中用于实现选择结构的语句有: ? while语句 ? do-while语句 ? for语句
此外,还要注意continue语句和break语句在循环结构中的作用。编程时,可以不使用continue语句和break语句,但笔试中一定会考查到。
在完成以上实验的基础上,有兴趣的同学可以在课后思考以下问题:
思考题:打印等腰三角形
在花括号({})之间填写适当的语句,将程序补充完整实现下述功能,并上机运行验证。 程序的功能是从键盘上输入一个整数n,然后打印出n层有高的等腰三角形(由“*”组成)。
例如,当n为5时,如图1所示。
3
图1 5层高的等边三角形
/*think-3.c*/ #include
【解题提示】
实际上,这个等腰三角形是由“*”和空格两种符号构成。我们要做的,就是判断出每层要输出多少个“*”和空格。
无论多高的等腰三角形,第一层都是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)*2 (3)先打印出一半(y/2个)的空格 (4)接着打印出1+(x-1)*2个星号 4 (5)最后再打印出另一个(y/2个)的空格 (6)最后再打印一个回车换行符(\\n) 由于第(5)步打印出的空格不可见,所以可以省略。 5
相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




