循环结构程序设计_第1页
循环结构程序设计_第2页
循环结构程序设计_第3页
循环结构程序设计_第4页
循环结构程序设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验四 循环结构程序设计一【实验目的】1、熟练使用for、while和dowhile语句实现循环结构程序设计。2、理解循环条件和循环体,以及for、while和dowhile语句的相同及不同之处。3、熟练掌握break和continue语句的使用。4、掌握使用“debug”菜单调试程序的方法。二【实验内容和步骤】1、程序调试题A目标:进一步学习掌握程序调试的方法和技巧。B内容:参照实验指导教材P38“1.调试示例”,改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error04_1.cpp) 调试正确的源程序清单#include <stdio.h&

2、gt;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最大公约数是%dn ", j, k); return 0; 运行结果:(提示

3、:通过屏幕截图,贴粘程序运行界面)。2、完善程序,并调试运行程序题目(1)求11/21/31/n。程序功能:从键盘上输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:读入1个正整数 n(n<=50),计算并输出11/21/31/n (保留3 位小数)。(注:程序文件保存在“第1题”文件夹中)打开proj1.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include <stdio.h>int main( ) int ri, repeat; int i, n; float sum; scanf

4、("%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("%.3fn", sum); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(2)求n!。程序功能:从键盘上输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:读入1个正整数n(n<=50),计算并输出n!。(注:程序文件保存在“第2题”文

5、件夹中)打开proj2.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include <stdio.h>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("%.0fn", fact); 运

6、行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(3)求x的n次幂(即:xn)。程序功能:从键盘上输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:读入1个正实数x和1个正整数n(n<=50),计算并输出x的n次幂(即:xn,保留2位小数)。(注:程序文件保存在“第3题”文件夹中)打开proj3.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include <stdio.h>int main( ) int ri, repeat; int i, n; double x, mypow; s

7、canf("%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("%.2fn", mypow); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(4)求11/21/31/4+1/n。程序功能:从键盘上输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:读入1个正整数n(

8、n<=100),计算并输出11/21/31/4的前n 项和(保留3位小数)。(注:程序文件保存在“第4题”文件夹中)打开proj4.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include <stdio.h>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;f

9、or(i=1;i<=n;i+)sum=sum+flag*1.0/i; flag=-flag; printf("%.3fn", sum); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(5)求11/31/51/7。程序功能:从键盘上输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:读入1个正整数n(n<=100),计算并输出11/31/51/7的前n项和(保留3位小数)。(注:程序文件保存在“第5题”文件夹中)打开proj5.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清

10、单#include <stdio.h>int main( ) int ri, repeat; int i, n, temp; float sum; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d", &n); temp=1; sum=0; for(i=1;i<=n;i+) sum=sum+1.0/temp; temp=temp+2; printf("%.3fn", sum); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)

11、。题目(6)求1-1/31/5-1/7。程序功能:从键盘上输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:读入1个正实数eps,计算并输出11/31/51/7,直到最后一项的绝对值小于eps(保留6位小数)。(注:程序文件保存在“第6题”文件夹中)打开proj6.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include <stdio.h>#include <math.h>int main( ) int ri, repeat; int temp, flag; double eps,

12、 item, sum; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%le", &eps); flag=1; sum=0; temp=1; item=1.0; while(fabs(item)>=eps) item=flag*1.0/temp; sum=sum+item; temp=temp+2; flag=-flag; printf("%.6fn", sum); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(7)求1-1/31

13、/5-1/7。程序功能:从键盘上输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入2个整数begin 和end,分别代表摄氏温度的起止值,输出该范围内(步长为1)摄氏温度C和华氏温度F的转换表。转换计算公式:F=32+ C*9/5,输出语句:printf("%d%10.2fn", c, f); 。(注:程序文件保存在“第7题”文件夹中)打开proj7.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include <stdio.h>int main( ) int ri, repe

14、at; int begin, c, end;double f; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d%d", &begin, &end); printf("Celsius Fahrenheitn"); for(c=begin;c<=end;c+) f=32+c*9/5; printf("%d%10.2fn", c, f); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(8)求奇数和。程序功

15、能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:读入一批正整数(以零或负数为结束标志),求其中的奇数和。(注:程序文件保存在“第8题”文件夹中)打开proj8.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include <stdio.h>int main( ) int ri, repeat; int x, sum; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d",

16、 &x); sum=0;while(x>0)if(x%2=1)sum=sum+x; scanf("%d", &x); printf("%dn", sum); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(9)求最大值和最小值。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入一个正整数n,再输入n个整数,输出这n个整数中的最大值、最小值、累加和与平均值。(注:程序文件保存在“第9题”文件夹中)打开proj9.cpp文件,在两条星线之间填入相应的代码,使程序完

17、成该功能。 调试正确的源程序清单#include <stdio.h>int main( ) int ri, repeat; int i , max, min, n, x;double sum,avg;scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d", &n); scanf("%d", &x); sum=x; max=x; min=x; for(i=2;i<=n;i+) scanf("%d", &am

18、p;x); if(max>=x) max=max; else max=x; if(min<=x) min=min; else min=x; sum=sum+x; avg=sum/n; printf("The Max is %d.n", max); printf("The Min is %d.n", min); printf("The Sum is %f.n", sum); printf("The Avg is %f.n", avg); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(10)求整

19、数的位数以及各位数之和。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat 次下列运算:输入一个整数,输出它的位数以及各位数之和。(注:程序文件保存在“第10题”文件夹中)打开proj10.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include <stdio.h>int main( ) int ri, repeat; int number, sum; long int in; scanf("%d", &repeat); for(ri=1; ri<=repea

20、t; ri+) scanf("%ld", &in); number=1;if(in<0) in=-in;sum=in%10;while(in/10>0) in=in/10; sum=sum+(in%10); number+; printf("number=%d, sum=%dn", number, sum); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(11)求2/13/25/38/5.之和。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat 次下列运算:输入一个正整数n,

21、输出2/1+3/2+5/3+8/5 +.的前n项之和,保留2位小数。(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)(注:程序文件保存在“第11题”文件夹中)打开proj11.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include <stdio.h>int main( ) int ri, repeat; int i,n; float a,b,s,t; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d&

22、quot;, &n); s=0; a=2; b=1; for(i=1;i<=n;i+) s=s+a/b; t=b; b=a; a=a+t; printf("%.2fn",s); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(12)求aaaaaaaaa之和。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入2个正整数a和n,输出aaaaaaaaa(n个a)之和。(注:程序文件保存在“第12题”文件夹中)打开proj12.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正

23、确的源程序清单#include <stdio.h>void main() int ri, repeat; int i, n; long int a, sn, tn; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%ld%d", &a, &n); sn=0; tn=0; for(i=1;i<=n;i+) tn=10*tn+a; sn=sn+tn; printf("%ldn",sn); 运行结果:(提示:通过屏幕截图,贴粘程序

24、运行界面)。题目(13)判断素数。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入一个正整数m,如果它是素数,输出"YES",否则,输出"NO"(素数就是只能被1 和自身整除的正整数,1不是素数,2是素数)。(注:程序文件保存在“第13题”文件夹中)打开proj13.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(14)统计字符。程序功能:从键盘上输入一个正整数repeat(0<repeat

25、<10),做repeat次下列运算:输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。(注:程序文件保存在“第14题”文件夹中)打开proj14.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include <stdio.h>int main( ) int ri, repeat; int blank, digit, letter, other; char c; scanf("%d", &repeat); getchar(); for(ri=1; ri<=repeat; ri+) c =

26、getchar(); blank=0; digit=0; letter=0; other=0; while(c=getchar()!='n') if(c>='a'&&c<='z'|c<='Z'&&c>='A') blank+; else if(c=' ') digit+; else if(c>='0'&&c<='9') letter+; else other+; printf(&quo

27、t;letter=%d, blank=%d, digit=%d, other=%dn", letter, blank, digit, other); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(15)【水平考试题】程序文件保存在“第15题(水平考试题)”文件夹中,打开proj15.cpp,编程实现,任输入一个正整数num,求1+2+3+num的和。在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(16)【水平考试题】程序文件保存在“第16题(水平考试题)”文件夹中,打开proj16.cpp,编程实现输入一个长整数,求各位数字的平方和。例如输入-123,输出sum=14。在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include <iostream.h>void main( ) int d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论