实验4:循环结构程序设计
- 格式:doc
- 大小:30.50 KB
- 文档页数:3
实验4 循环结构程序设计
一、实验目的
1.熟练掌握三种循环语句的应用。
2.熟练掌握循环结构的嵌套。
3.掌握break和continue语句的使用。
4.掌握求最大值、最小值、递推、迭代及枚举等算法。
5. 掌握“打印跟踪”的程序调试方法。
二、实验要求
1.复习while语句、do…while语句、for语句的执行流程;
2.复习循环嵌套程序执行流程;
3.完成各项实验任务及问题讨论。
三、实验内容
1.分别用while语句、do-while语句编写程序,计算e≈1+1/1!+1/2!+...+1/n!。实验步骤与要求如下:
(1)用单重循环编写程序;
(2)使误差(指累加的相邻两项之差)小于给定的ε,设ε=10-5
(3)除了输出e以外,同时还要输出总的累加项数n
2.任意输入10个数,计算所有正数的和、负数的和以及10个数的和。
3. 输入并运行下面的程序,观察并解释程序的运行结果。
#include"stdio.h"
main( )
{int n;
while (1)
{printf("Enter a number:");
scanf("%d",&n);
if (n%2==1)
{ printf("I said:");
continue;}
break;
}
printf("Thanks. I needed that!");
}
4. 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。例如6的因子是1,2,3,且6=1+2+3,因此6是完数。
编写程序找出1000之内的所有完数及这些完数的和。实验步骤与要求如下:①阅读如下算法,要求使用for循环实现。
(1) sum=0,m=2
(2) 当m<=1000时,反复执行(2.1)(2.2)(2.3)(2.4),否则转(3)
(2.1)k=m/2,n=0,j=1
(2.2)当j<=k时,反复执行(2.2.1)(2.2.2) ,否则转(2.3)
(2.2.1) if j是m的因子则执行n=n+j
(2.2.2) j++
(2.3) if m=n 则输出完数m, 计算sum=sum+m
(2.4)m++
(3)输出sum值
②结果输出形式为:完数1+完数2...=完数和的值
提示:在程序调试过程中,可插入适当printf输出语句,跟踪程序执行状态。
5.打印出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。如153=13+53+33,所以153是水仙花数。
6.用40元钱买苹果、西瓜和梨共100个,且三种水果都有。已知苹果0.4元一个,西瓜4元一个,梨0.2元一个。问可以各买多少个?请编写程序输出所有购买方案。
7.编写程序,从键盘输入6名学生的5门课成绩,分别统计出每位学生的平均成绩。
8.每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直到购买的苹果个数不超过100的最大值,编写程序求每天花多少钱?
9.用循环语句编写程序,显示下列图案。
* * * * * * *
* * * * *
* * *
*
* * *
* * * * *
* * * * * * *
10.设计一个打印九九乘法表的程序。
* 1 2 3 4 5 6 7 8 9
1 1
2 2 4
3 3 6 9
4 4 8 12 16
5 5 10 15 20 25
6 6 12 18 24 30 36
7 7 14 21 28 35 42 49
8 8 16 24 32 40 48 56 64
9 9 18 27 36 45 54 63 72 81
11.若口袋里有12个球,其中3个红球,3个白球,6个黑球,从中任取8个球,编程求有多少种不同的取法,并给出每种取法。
四、内容讨论
1. 小结三种形式的循环使用场合的区别。
2. 小结循环嵌套的规定和应用。