循环结构程序设计讲课教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四循环结构程序设计
一.【实验目的】
1、熟练使用for、while和do…while语句实现循环结构程序设计。
2、理解循环条件和循环体,以及for、while和do…while语句的相同及不同之处。
3、熟练掌握break和continue语句的使用。
4、掌握使用“debug”菜单调试程序的方法。
二.【实验内容和步骤】
1、程序调试题
A.目标:进一步学习掌握程序调试的方法和技巧。
B.内容:参照《实验指导》教材P38“1.调试示例”,改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error04_1.cpp)
①调试正确的源程序清单
#include
int main(void)
{
int m, n, j, k;
do{
printf("Input m: ");
scanf("%d", &m);
printf("Input n: ");
scanf("%d", &n);
}while(m<0||n<0);
j = m;
while(j % n != 0)
j = j + m;
k = (m * n) / j;
printf("最小公倍数是%d \n最大公约数是%d\n ", j, k);
return 0;
②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。
2、完善程序,并调试运行程序
题目(1)求1+1/2+1/3+⋯⋯+1/n。程序功能:从键盘上输入一个正整数repeat (0 ①调试正确的源程序清单 #include int main( ) { int ri, repeat; int i, n; float sum; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++) { scanf("%d", &n); sum=0; for(i=1;i<=n;i++){ sum=sum+1.0/i; } printf("%.3f\n", sum); } ②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。 题目(2)求n!。程序功能:从键盘上输入一个正整数repeat (0 ①调试正确的源程序清单 #include int main( ) { int ri, repeat; int i, n; double fact; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++) { scanf("%d", &n); fact=1; for(i=1;i<=n;i++){ fact=fact*i; } printf("%.0f\n", fact); } ②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。 题目(3)求x的n次幂(即:x n)。程序功能:从键盘上输入一个正整数repeat (0 ①调试正确的源程序清单 #include int main( ) { int ri, repeat; int i, n; double x, mypow; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++) { scanf("%lf%d", &x, &n); mypow=1; for(i=2;i<=n;i++) mypow= mypow*x; printf("%.2f\n", mypow); } ②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。 题目(4)求1-1/2+1/3-1/4+…+1/n。程序功能:从键盘上输入一个正整数repeat (0 (注:程序文件保存在“第4题”文件夹中)打开proj4.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 ①调试正确的源程序清单 #include int main( ) { int ri, repeat; int i, n, flag; float sum; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++) { scanf("%d", &n); sum=0; flag=1; for(i=1;i<=n;i++){ sum=sum+flag*1.0/i;