版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/试验四循环结构程序设计一.【试验目的】1、娴熟运用for、while和do…while语句实现循环结构程序设计。2、理解循环条件和循环体,以及for、while和do…while语句的相同及不同之处。3、娴熟驾驭break和continue语句的运用。4、驾驭运用“debug”菜单调试程序的方法。二.【试验内容和步骤】1、程序调试题A.目标:进一步学习驾驭程序调试的方法和技巧。B.内容:参照《试验指导》教材P38“1.调试示例”,改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error04_1.cpp)①调试正确的源程序清单#include<stdio.h>intmain(void){intm,n,j,k;do{printf("Inputm:");scanf("%d",&m);printf("Inputn:");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);return0;}②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。2、完善程序,并调试运行程序题目(1)求1+1/2+1/3+⋯⋯+1/n。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:读入1个正整数n(n<=50),计算并输出1+1/2+1/3+⋯⋯+1/n(保留3位小数)。(注:程序文件保存在“第1题”文件夹中)打开proj1.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>intmain(){intri,repeat;inti,n;floatsum;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<repeat<10),做repeat次下列运算:读入1个正整数n(n<=50),计算并输出n!。(注:程序文件保存在“第2题”文件夹中)打开proj2.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>intmain(){intri,repeat;inti,n;doublefact;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次幂(即:xn)。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:读入1个正实数x和1个正整数n(n<=50),计算并输出x的n次幂(即:xn,保留2位小数)。(注:程序文件保存在“第3题”文件夹中)打开proj3.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>intmain(){intri,repeat;inti,n;doublex,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<repeat<10),做repeat次下列运算:读入1个正整数n(n<=100),计算并输出1-1/2+1/3-1/4+⋯⋯的前n项和(保留3位小数)。(注:程序文件保存在“第4题”文件夹中)打开proj4.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>intmain(){intri,repeat;inti,n,flag;floatsum;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; flag=-flag;}printf("%.3f\n",sum); }}②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(5)求1+1/3+1/5+1/7+…。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:读入1个正整数n(n<=100),计算并输出1+1/3+1/5+1/7+⋯⋯的前n项和(保留3位小数)。(注:程序文件保存在“第5题”文件夹中)打开proj5.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>intmain(){intri,repeat;inti,n,temp;floatsum;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("%.3f\n",sum); }}②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(6)求1-1/3+1/5-1/7+…。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:读入1个正实数eps,计算并输出1-1/3+1/5-1/7+⋯⋯,直到最终一项的确定值小于eps(保留6位小数)。(注:程序文件保存在“第6题”文件夹中)打开proj6.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>#include<math.h>intmain(){intri,repeat;inttemp,flag;doubleeps,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("%.6f\n",sum); }}②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(7)求1-1/3+1/5-1/7+…。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入2个整数begin和end,分别代表摄氏温度的起止值,输出该范围内(步长为1)摄氏温度C和华氏温度F的转换表。转换计算公式:F=32+C*9/5,输出语句:printf("%d%10.2f\n",c,f);。(注:程序文件保存在“第7题”文件夹中)打开proj7.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>intmain(){intri,repeat;intbegin,c,end; doublef;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++) {scanf("%d%d",&begin,&end);printf("CelsiusFahrenheit\n");for(c=begin;c<=end;c++){ f=32+c*9/5;printf("%d%10.2f\n",c,f); } } }②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(8)求奇数和。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:读入一批正整数(以零或负数为结束标记),求其中的奇数和。(注:程序文件保存在“第8题”文件夹中)打开proj8.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>intmain(){intri,repeat;intx,sum;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++) {scanf("%d",&x);sum=0; while(x>0){ if(x%2==1) sum=sum+x; scanf("%d",&x);}printf("%d\n",sum); }}②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(9)求最大值和最小值。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入一个正整数n,再输入n个整数,输出这n个整数中的最大值、最小值、累加和和平均值。(注:程序文件保存在“第9题”文件夹中)打开proj9.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>intmain(){intri,repeat;inti,max,min,n,x; doublesum,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",&x); if(max>=x)max=max; else max=x; if(min<=x) min=min; else min=x; sum=sum+x; } avg=sum/n;printf("TheMaxis%d.\n",max); printf("TheMinis%d.\n",min); printf("TheSumis%f.\n",sum); printf("TheAvgis%f.\n",avg); }}②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(10)求整数的位数以及各位数之和。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入一个整数,输出它的位数以及各位数之和。(注:程序文件保存在“第10题”文件夹中)打开proj10.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>intmain(){intri,repeat;intnumber,sum;longintin;scanf("%d",&repeat);for(ri=1;ri<=repeat;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=%d\n",number,sum); }}②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(11)求2/1+3/2+5/3+8/5+...之和。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入一个正整数n,输出2/1+3/2+5/3+8/5+...的前n项之和,保留2位小数。(该序列从第2项起,每一项的分子是前一项分子和分母的和,分母是前一项的分子)(注:程序文件保存在“第11题”文件夹中)打开proj11.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>intmain(){intri,repeat;inti,n;floata,b,s,t;scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++) {scanf("%d",&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("%.2f\n",s); }}②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(12)求a+aa+aaa+aa…a之和。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入2个正整数a和n,输出a+aa+aaa+aa…a(n个a)之和。(注:程序文件保存在“第12题”文件夹中)打开proj12.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>voidmain(){intri,repeat;inti,n;longinta,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("%ld\n",sn); }} ②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(13)推断素数。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入一个正整数m,假如它是素数,输出"YES",否则,输出"NO"(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。(注:程序文件保存在“第13题”文件夹中)打开proj13.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(14)统计字符。程序功能:从键盘上输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。(注:程序文件保存在“第14题”文件夹中)打开proj14.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include<stdio.h>intmain(){intri,repeat;intblank,digit,letter,other;charc;scanf("%d",&repeat);getchar();for(ri=1;ri<=repeat;ri++) {c=getchar();blank=0;digit=0;letter=0;other=0;while((c=getchar())!='\n'){ if(c>='a'&&c<='z'||c<='Z'&&c>='A')blank++;elseif(c=='')digit++;elseif(c>='0'&&c<='9')letter++;elseother++; }printf("letter=%d,blank=%d,digit=%d,other=%d\n",letter,blank,digit,other); }}②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(15)【水平考试题】程序文件保存在“第15题(水平考试题)”文件夹中,打开proj15.cpp,编程实现,任输入一个正整数num,求1+2+3+…+num的和。在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(16)【水平考试题】程序文件保存在“第16题(水平考试题)”文件夹中,打开proj16.cpp,编程实现输入一个长整数,求各位数字的平方和。例如输入-123,输出sum=14。在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年实验室仪器装置合作协议书
- 2025年骨科关节用药项目合作计划书
- 急性肺水肿的急救处理
- 2025年金属废料和碎屑合作协议书
- 临床护理信息化技术应用
- 护理随访流程详解
- 护理感染控制与预防
- 呆子吃盐课件
- 危重症患者的营养支持
- 听课件注意事项
- 大课间活动汇报
- 酒吧代驾合作合同范本
- 导尿技术常见并发症
- 台州路面划线施工技术交底
- (2025年)国家gcp证书考试试题及答案
- 城市轨道交通客运服务心理学课件 单元5-城市轨道交通乘客情绪心理与服务
- 消防给水及消火栓系统技术规范图示
- 产后护理法律知识培训课件
- 2024年哈尔滨科学技术职业学院公开招聘辅导员笔试题含答案
- 24节气 教学设计课件
- 北京市西城区2024-2025学年五年级上学期期末数学试题
评论
0/150
提交评论