实验05参考答案.doc

上传人:s****u 文档编号:12813498 上传时间:2020-05-26 格式:DOC 页数:16 大小:252KB
返回 下载 相关 举报
实验05参考答案.doc_第1页
第1页 / 共16页
实验05参考答案.doc_第2页
第2页 / 共16页
实验05参考答案.doc_第3页
第3页 / 共16页
点击查看更多>>
资源描述
实验五 循环结构程序设计班级: 学号: 姓名: 评分: 一【实验目的】1、熟练使用for、while和dowhile语句实现循环结构程序设计。2、理解循环条件和循环体,以及for、while和dowhile语句的相同及不同之处。3、熟练掌握break和continue语句的使用。4、掌握使用“debug”菜单调试程序的方法。二【实验内容和步骤】1、程序调试题A目标:进一步学习掌握程序调试的方法和技巧。B内容:改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error04_1.cpp) 调试正确的源程序清单#include int main(void) int m, n, j, k; /* j表示最小公倍数,k表示最大公约数 */ do printf(Input m: ); scanf(%d, &m); printf(Input n: ); scanf(%d, &n); while(m0|n0);j = m; while(j % n != 0) /* 调试时设置断点 */ j = j + m;k = (m * n) / j; /* 调试时设置断点 */ printf(最小公倍数是%d n最大公约数是%dn , j, k); return 0; 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。2、完善程序,并调试运行程序1、 题目(1)打开程序proj1.cpp,按以下要求完成操作(1) 请编写程序满足个位数的平方等于其本身的所有数,程序的运行结果是:1、25、36。(2) 请按注释的要求在程序的“”处填入适当的内容,并去掉程序中的“”,使程序能正确运行,并保存文件。 调试正确的源程序清单#include int main(void) int i,g;for (i=1;i100;i+)/#1程序满足个位数的平方等于其本身的所有数g=i%10;/#2求取每个数的个位数,并放入g中if(g*g=i)/#3 判断个位数的平方是否等于其本身printf(%d ,i); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(2)求n!。程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:读入1个正整数n(n=50),计算并输出n!。(注:程序文件保存在“第2题”文件夹中)打开proj2.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 读入1个正整数 n(n=50),计算n! /提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include int main( ) int ri, repeat; int i, n; double fact; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &n); /请在两条星线之间填入相应的代码,计算n!(要求使用循环结构) /*/fact=1;for(i=1;i=n;i+)fact=fact*i; /*/ printf(%.0fn, fact); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(3)求x的n次幂(即:xn)。程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:读入1个正实数x和1个正整数n(n=50),计算并输出x的n次幂(即:xn,保留2位小数)。(注:程序文件保存在“第3题”文件夹中)打开proj3.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 读入1个正实数x和1个正整数 n(n=50),计算x的n次幂(保留2位小数)。 /提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#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); /请在两条星线之间填入相应的代码,计算x的n次幂(要求使用循环结构) /*/mypow=1;for(i=1;i=n;i+)mypow=mypow*x; /*/ printf(%.2fn, mypow); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(4)求11/21/31/4+1/n。程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:读入1个正整数n(n=100),计算并输出11/21/31/4的前n 项和(保留3位小数)。(注:程序文件保存在“第4题”文件夹中)打开proj4.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 读入1个正整数 n(n=100),计算11/21/31/4.的前n 项和(保留3位小数)/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include int main( ) int ri, repeat; int i, n, flag; float sum; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &n); /请在两条星线之间填入相应的代码,计算11/21/31/4.的前n 项和(保留3位小数) /(要求使用循环结构) /*/sum=0;for(i=1;i=n;i+)flag=i;if(i%2=0)flag=-flag;sum=sum+1.0/flag; /*/ printf(%.3fn, sum); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(5)求11/31/51/7。程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:读入1个正整数n(n=100),计算并输出11/31/51/7的前n项和(保留3位小数)。(注:程序文件保存在“第5题”文件夹中)打开proj5.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 读入1个正整数 n(n=100),计算11/31/51/7.的前n 项和(保留3位小数)/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include int main( ) int ri, repeat; int i, n, temp; float sum; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &n); /请在两条星线之间填入相应的代码, 计算11/31/51/7.的前n项和(保留3位小数) /(要求使用循环结构) /*/ for(sum=0,i=1;i=n;i+)temp=2*i-1;sum=sum+1.0/temp; /*/ printf(%.3fn, sum); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(6)求1-1/31/5-1/7。程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:读入1个正实数eps,计算并输出11/31/51/7,直到最后一项的绝对值小于eps(保留6位小数)。(注:程序文件保存在“第6题”文件夹中)打开proj6.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 读入1个正实数eps,计算1-1/31/5-1/7.的前n 项和, 直到最后一项/ 的绝对值小于eps(保留6位小数)。/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include #include int main( ) int ri, repeat; int temp, flag; double eps, item, sum; scanf(%d, &repeat); for(ri=1; ri=eps;temp+=2) item=flag*(1.0/temp); sum=sum+item; flag=-flag; /*/ printf(%.6fn, sum); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(7)求1-1/31/5-1/7。程序功能:从键盘上输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2个整数begin 和end,分别代表摄氏温度的起止值,输出该范围内(步长为1)摄氏温度C和华氏温度F的转换表。转换计算公式:F=32+ C*9/5,输出语句:printf(%d%10.2fn, c, f); 。(注:程序文件保存在“第7题”文件夹中)打开proj7.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 输入2个整数begin 和end,分别代表摄氏温度的起止值,输出该范围内(步长为1)/ 摄氏温度C和华氏温度F的转换表。/ 转换计算公式:F=32+ C*9/5/ 输出语句:printf(%d%10.2fn, c, f);/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include int main( ) int ri, repeat; int begin, c, end;double f; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d%d, &begin, &end); printf(Celsius Fahrenheitn); /请在两条星线之间填入相应的代码,输出begin到end范围内(步长为1)摄氏温度C和华氏温度F的转换表。 /转换计算公式:F=32+ C*9/5,输出语句:printf(%d%10.2fn, c, f);(要求使用循环结构) /*/ for(c=begin;c=end;c+) f=32+c*9.0/5;printf(%d%10.2fn, c, f); /*/ 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(8)求奇数和。程序功能:从键盘上输入一个正整数repeat(0repeat10),做repeat次下列运算:读入一批正整数(以零或负数为结束标志),求其中的奇数和。(注:程序文件保存在“第8题”文件夹中)打开proj8.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 读入一批正整数(以零或负数为结束标志),求其中的奇数和。/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include int main( ) int ri, repeat; int x, sum; scanf(%d, &repeat); for(ri=1; ri0) if(x%2!=0) sum=sum+x; scanf(%d,&x); /*/ printf(%dn, sum); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(9)求最大值和最小值。程序功能:从键盘上输入一个正整数repeat(0repeat10),做repeat次下列运算:输入一个正整数n,再输入n个整数,输出这n个整数中的最大值、最小值、累加和与平均值。(注:程序文件保存在“第9题”文件夹中)打开proj9.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 输入一个正整数n,再输入n个整数,输出这n个整数中的最大值、最小值、累加和与平均值。/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include 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); /请在两条星线之间填入相应的代码,输入n个整数,求这n个整数中的最大值、最小值、累加和与平均值。 /(要求使用循环结构) /*/ scanf(%d,&x); sum=min=max=x; for(i=2;imax) max=x; if(xmin) min=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)求整数的位数以及各位数之和。程序功能:从键盘上输入一个正整数repeat(0repeat10),做repeat 次下列运算:输入一个整数,输出它的位数以及各位数之和。(注:程序文件保存在“第10题”文件夹中)打开proj10.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 输入一个整数,输出它的位数以及各位数之和。/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include int main( ) int ri, repeat; int number, sum; long int in; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%ld, &in); /请在两条星线之间填入相应的代码,求整型变量in中的整数的位数以及各位数之和。 /(要求使用循环结构) /*/number=0;sum=0;while(in!=0)number+;sum=sum+in%10;in=in/10; /*/ printf(number=%d, sum=%dn, number, sum); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(11)求2/13/25/38/5.之和。程序功能:从键盘上输入一个正整数repeat(0repeat10),做repeat 次下列运算:输入一个正整数n,输出2/1+3/2+5/3+8/5 +.的前n项之和,保留2位小数。(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)(注:程序文件保存在“第11题”文件夹中)打开proj11.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 计算并输出表达式:2/1+3/2+5/3+8/5 +.的前n项之和,保留2位小数。/ 注意:该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include int main( ) int ri, repeat; int i,n; float a,b,s,t; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &n); /请在两条星线之间填入相应的代码,计算表达式:2/1+3/2+5/3+8/5 +.的前n项之和。 /(要求使用循环结构) /*/ s=0; for(a=2,b=1,i=1;i=n;i+) s=s+a/b; t=b; b=a; a=t+b; /*/ printf(%.2fn,s); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(12)求aaaaaaaaa之和。程序功能:从键盘上输入一个正整数repeat(0repeat10),做repeat次下列运算:输入2个正整数a和n,输出aaaaaaaaa(n个a)之和。(注:程序文件保存在“第12题”文件夹中)打开proj12.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 输入2个正整数a和n,输出aaaaaaaaa(n个a)之和。/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include 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); /请在两条星线之间填入相应的代码,计算表达式:aaaaaaaaa(n个a)之和。 /(要求使用循环结构) /*/ sn=tn=0; i=1; while(i=n) tn=tn*10+a; sn=sn+tn; i+; /*/ printf(%ldn,sn); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(13)判断素数。程序功能:从键盘上输入一个正整数repeat(0repeat10),做repeat次下列运算:输入一个正整数m,如果它是素数,输出YES,否则,输出NO(素数就是只能被1 和自身整除的正整数,1不是素数,2是素数)。(注:程序文件保存在“第13题”文件夹中)打开proj13.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 输入一个正整数m,如果它是素数,输出YES,否则,输出NO。/ 素数:就是只能被1 和自身整除的正整数,1不是素数,2是素数。/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include #include int main( ) int ri, repeat; int flag, i, m, n; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d, &m); /请在两条星线之间填入相应的代码,判断整数m是否是素数。 /(要求使用循环结构) /*/flag=1; if(m=1)flag=0;else if(m=2)flag=1;elsefor(i=2;i=m/2;i+)if(m%i=0)flag=0;break; /*/ if(flag) printf(YESn); else printf(NOn); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(14)统计字符。程序功能:从键盘上输入一个正整数repeat(0repeat10),做repeat次下列运算:输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。(注:程序文件保存在“第14题”文件夹中)打开proj14.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include int main( ) int ri, repeat; int blank, digit, letter, other; char c; scanf(%d, &repeat); getchar(); for(ri=1; ri=0&c=a&c=A&c=Z) letter+; else other+; c = getchar(); /*/ printf(letter=%d, blank=%d, digit=%d, other=%dn, letter, blank, digit, other); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(15)【水平考试题】程序文件保存在“第15题(水平考试题)”文件夹中,打开proj15.cpp,编程实现,任输入一个正整数num,求1+2+3+num的和。在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:任输入一个正整数num,求123.+num的和/注意:补充语句不限一句,可多句。#include void main() /请在两条星线之间填入相应的代码(必须使用while循环语句)/*/int i=1,num,sum=0;cinnum;while(i=num)sum=sum+i;i+;coutsumendl;/*/ 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(16)【水平考试题】程序文件保存在“第16题(水平考试题)”文件夹中,打开proj16.cpp,编程实现输入一个长整数,求各位数字的平方和。例如输入-123,输出sum=14。在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能: 输入1个长整数,求各位数字的平方和。/例如输入:-123,输出:1的平方+2的平方+3的平方=14/提示:除在指定位置添加语句之外,请不要改动程序中的其他内容,补充语句为一句#include void main( ) int digit;/digit为组成长整数的数字long in,s;/in为输入的长整数,s为平方和 coutin;/请在两条星线之间填入相应的代码,实现如果输入负数,则转换成正数/*/if(in0) /请在两条星线之间填入相应的代码,求长整数的各位数字/*/digit=in%10;/*/s=s+digit*digit;/请在两条星线之间填入相应的代码,实现修改长整数的值/*/in=in/10;/*/ coutsum=sendl; 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(17)【水平考试题】程序文件保存在“第17题(水平考试题)”文件夹中,打开proj17.cpp,程序的功能是计算1100以内所有含5的数之和。删除程序代码里面的下划线并补充相应的代码。(注意:不得改动其它代码,不得增、删行,不得更改程序结构。) 调试正确的源程序清单#include void main() int i,s=0; for(i=1;i=100;i+) if ( i%10=5|i/10=5 )/删除下划线并填入答案 s=s+i; coutThs result is sendl; 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(18)【水平考试题】程序文件保存在“第18题(水平考试题)”文件夹中,打开proj18.cpp,程序的功能是计算某数组中前n个数组元素的乘积。删除程序代码里面的下划线并补充相应的代码。(注意:不得改动其它代码,不得增、删行,不得更改程序结构。) 调试正确的源程序清单#include int main(void) int i,g;for (i=1;i100;i+)/#1程序满足个位数的平方等于其本身的所有数g=i%10;/#2求取每个数的个位数,并放入g中if(g*g=i)/#3 判断个位数的平方是否等于其本身couti ; 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!