实验指导书实验3:循环结构程序设计-20150706

更新时间:2023-12-06 11:46:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

河南工业大学信息学院《程序设计基础》课程组实验指导

实验三:循环结构程序设计

一、 实验目的:

1. 熟练使用for()、while()和do-while()三种语句实现循环程序设计; 2. 理解循环条件和循环体,以及体会for()、while()和do-while()语句的相同及不同之处;

3.掌握break和continue语句的使用。 二、实验要求:

1. 参照《附件一:确定循环次数的程序设计》,完成相应的题目要求(共5题); 2. 水仙花数是指各位数字的立方和等于该数本身的三位数。例如,153是水仙花数,因为153=13+33+53。请编程计算并输出所有的水仙花数,每个数占一行。

输出样例:153 370 371 407

#include int main() { int s,d,z,i; for(i=100;i<=999;i++) { s=i/100; d=i/10; z=i; if(i==s*s*s+d*d*d+z*z*z) printf(\ } return 0; }

2014.9.制

第1页

河南工业大学信息学院《程序设计基础》课程组实验指导

3. 编写程序,输入一批正整数(以零或负数为结束标志),求其中的偶数和。要求:使用while()语句实现此程序。

输入样例:1 2 3 4 5 0 输出样例:6 输入样例:-1 输出样例:0

#include int main() {

int n ,sum=0;

while(scanf(\ {

if(n%2==0) sum+=n; }

printf(\ return 0; }

2014.9.制

第2页

河南工业大学信息学院《程序设计基础》课程组实验指导

4.古代《张丘建算经》中有一道百鸡问题:鸡翁一,值钱五;母鸡一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?其意为:公鸡每只5元,母鸡每只3元,小鸡3只1元。请用穷举法编程计算,若用100元买100只鸡,则公鸡、母鸡和小鸡各能买多少只。

输出样例:0 25 75 4 18 78 8 11 81 12 4 84 5.一球从100米高度自由落下,每次落地后反弹回原高度的一半,然后再落下再反弹。求它在第10次落地时,共经过多少米?第10次反弹多高?试编写相应程序。输出小数点后4位。

输出样例:299.6094 0.0977 6.[拓展题目]编写程序,输入两个正整数m和n,求其最大公约数和最小公倍数。 输入样例:4 6 输出样例:2 12 输入样例:7 8 输出样例:1 56 输入样例:8 24 输出样例:8 24

三、实验内容:

(在实验课之前,根据实验要求,将程序流程图、源代码和测试用例整理于此;实验课上机调试过程中,发现错误,则直接在上面用其它颜色标记并修改出来。)

2014.9.制

第3页

河南工业大学信息学院《程序设计基础》课程组实验指导

四、实验结果&总结:

(列出实验过程中的收获和遇到的困难)

2014.9.制

第4页

河南工业大学信息学院《程序设计基础》课程组实验指导

附件一:确定循环次数的程序设计

循环结构的程序设计不仅是本课程的学习重点,同时也是同学们学习的一大难点。写好程序需要积累,先从会看、会读、会改写开始:

【程序1-1】 下面的程序实现了:从键盘输入n,然后计算并输出1+2+3+……+n的值。阅读此程序代码,并抄写、编辑、运行;学习for()语句的结构特点。

输入样例:100 输出样例:5050 【程序-1】源代码 #include int main ( void ) { int i , n , sum ; scanf ( \ sum = 0; for ( i = 1 ; i<=n ; i++ ) { sum = sum + i ; } printf ( \ return 0; }

【程序1-2】 参考【程序-1】的源程序代码,填空实现:从键盘输入n,然后计算并输出1+2-3+4+5-6+7……+n的值。

输入样例:3 输出样例:0 输入样例:10 输出样例:9 输入样例:100 输出样例:1684 2014.9.制

第5页

河南工业大学信息学院《程序设计基础》课程组实验指导

【程序-2】部分源代码 #include int main(void) { int i , n , sum ; scanf ( \ sum = 0; for ( ; ; ) { ; } printf ( \ return 0; }

【程序1-3】 在【程序-1】源代码的基础上继续改写,编程实现:从键盘输入n,然后计算并输出1+1/2+1/3+1/4+1/5+1/6+1/7……+1/n的值。要求结果保留2位小数。

提示:注意数据类型的问题。 输入样例:3 输出样例:1.83 输入样例:10 输出样例:2.93

【程序1-4】 在【程序-1】源代码的基础上继续改写,编程实现:从键盘输入n,然后计算并输出1+1/3+1/5+1/7+1/9……前n项的值。要求结果保留2位小数。

输入样例:3 输出样例:1.53 输入样例:10 输出样例:2.13

【程序1-5】编写程序,输入一个正整数n,输出2/1+3/2+5/3+8/5+……的前n项之和,保留2位小数。(该序列从第二项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)

输入样例:3 输出样例:5.17 输入样例:10 输出样例:16.48

2014.9.制

第6页

河南工业大学信息学院《程序设计基础》课程组实验指导

【程序-2】部分源代码 #include int main(void) { int i , n , sum ; scanf ( \ sum = 0; for ( ; ; ) { ; } printf ( \ return 0; }

【程序1-3】 在【程序-1】源代码的基础上继续改写,编程实现:从键盘输入n,然后计算并输出1+1/2+1/3+1/4+1/5+1/6+1/7……+1/n的值。要求结果保留2位小数。

提示:注意数据类型的问题。 输入样例:3 输出样例:1.83 输入样例:10 输出样例:2.93

【程序1-4】 在【程序-1】源代码的基础上继续改写,编程实现:从键盘输入n,然后计算并输出1+1/3+1/5+1/7+1/9……前n项的值。要求结果保留2位小数。

输入样例:3 输出样例:1.53 输入样例:10 输出样例:2.13

【程序1-5】编写程序,输入一个正整数n,输出2/1+3/2+5/3+8/5+……的前n项之和,保留2位小数。(该序列从第二项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)

输入样例:3 输出样例:5.17 输入样例:10 输出样例:16.48

2014.9.制

第6页

本文来源:https://www.bwwdw.com/article/slpt.html

Top