《实验四过程控制的程序设计》由会员分享,可在线阅读,更多相关《实验四过程控制的程序设计(14页珍藏版)》请在金锄头文库上搜索。
1、实验内容任务1改错分段函数的计算1.打开程序文件error4-6.cpp。#include int main(void) double x;printf(Enter x: n); scanf(=%f, x); if(x 0) flag= 1; else if (x = 0) flag=0; else (x0) flag=-1; printf(f(%.2f) = %dn x flag); return 0; 2. 程序的功能是输入一个浮点数x,如果x大于0,flag等于1,如果x小于0,flag等于-1,如果x等于0,flag等于0。请根据VC的错误信息改正错误,使程序可以运行。3. 测试运行结
2、果,找出逻辑错误,使程序能按测试用例正确运行。测试用例1:测试用例2:测试用例3:Enter x:938.23f(938.23)=1Enter x:0f(0.00)=0Enter x:-737.1f(-737.10)=-1任务2改错两数排序1.打开程序文件error4-7.cpp。#include int main(void) double a,b,c;printf(Enter a,b: n); scanf(%lf,%lf, a,b); if(ab) c=a;a=b;b=c;printf(a= %lf,b=%lfn a,b); return 0; 2. 程序的功能是输入两数到变量a,b,比较a
3、、b,使a中存放较小数,b中存放较大数。请根据VC的compile和link错误信息改正错误,使程序可以运行。3. 测试运行结果Enter a,b:24.5,14.5a=14.5 b=24.5任务3改错级数求和1.打开程序文件error4-8.cpp。#include int main()int n;double s,t,q;printf(q=);scanf(%lf,&q);n=1;while(sq)t=s;s=s+(n+1)/n;n+;printf(n=%d:%fn,n,s);return 0;2. 程序的功能是计算并输出下列级数的前N项之和,直到SN+1大于一个q为止,q的值由键盘输入。e
4、rror3-5.cpp没有语法错误,但存在逻辑错误,请根据下面的测试用例,定位逻辑错误,改正并输出正确结构。3. 测试运行结果q=50n=45: 49.任务4编程BMI体重指数1. 打开程序ex4_1.cpp,文件给出了部分代码,请根据注释提示完成划线部分语句,完整程序功能。#include int main()float weight,height; float BMI;/1.输入体重和身高printf(weight=);scanf(%f,&weight);printf(height=);scanf(%f,&height);/计算BMI BMI=weight/()pow(height,2);
5、printf(BMI=%.2f,BMI);/根据BMI输出健康情况 if(BMI=28)printf(肥胖。n); else if( )printf(超重。n); else if()printf(健康体重。n); else printf(轻体重。n);return 0;2. 任务描述:BMI指数(Body Mass Index)即身体质量指数,是与体内脂肪总量密切相关的指标,主要反映全身性超重和肥胖。它的计算公式为:BMI=体重(kg)/身高(m)的平方。成年人身体质量按BMI指数分为:轻体重(BMI18.5)、健康体重(18.5BMI24)、超重(24BMI28)、肥胖 28BMI。输入体重
6、(Kg)和身高(m),计算身体质量指数BMI,并输出健康信息。3. 运行示例:weight=56height=1.60BMI=21.87,健康体重任务5编写程序公式计算1. 打开程序文件ex4_2.cpp,文件给出了部分代码,请根据注释提示完成划线部分语句,完整程序功能。#include #includeint main()double s;int m;printf(m=);scanf(%d,&m);for(inti=1;i=m; )s+= ;printf(s=%fn, );return 0;2. 程序的功能是按下面的公式计算并输出s的值,m的值由键盘输入,m应是一个奇数,如果输入的是一个偶数
7、,取小于m的最大奇数。3. 测试运行结果m=20s=4.任务6 编写程序计算所得税创建一个程序文件ex4_3.cpp,输入月薪,输出个人所得税。所得税计算参阅P63习题3程序题第2题任务7编写程序取位算法应用创建一个程序文件ex4_4.cpp,计算任意一个整数x的中a的出现次数,例如x为,a为2,a在x中的出现次数为6。任务8编写程序判闰年创建一个程序文件ex4_5.cpp,输出21世纪所有的闰年。任务9 编写程序兑换钱币创建一个程序文件ex4_6.cpp,用一张一元票换1分、2分和5分的硬币(至少各一枚),问有哪几种换法。实验报告任务1改错分段函数的计算编码 compile和link错误信息
8、改正后的源程序清单:#include int main(void) int flag;double x; printf(Enter x: n); scanf(%lf,&x); if(x 0) flag= 1; else if (x =0) flag=0; else flag=-1; printf(f(%.2f) = %dn,x,flag); return 0;测试测试用例一:输入:938.23输出:1运行过程记录(截屏图):测试用例二:输入:0输出:0运行过程记录(截屏图):测试用例三:输入:-737.1输出:-1运行过程记录(截屏图):任务2 改错两数排序编码 compile和link错误信
9、息改正后的源程序清单:#include int main(void) double a,b,c; printf(Enter a,b: n); scanf(%lf,%lf,&a,&b); if(ab) c=a;a=b;b=c; else a=a;b=b; printf(a=%lf,b=%lfn,a,b); return 0; 测试测试用例一:输入:24.5,14.5输出:a=14., b=24.运行过程记录(截屏图):测试用例二:输入:13,15输出:a=13., b=15.运行过程记录(截屏图):测试用例三:输入:-3,-5输出:a=-5., b=-3.运行过程记录(截屏图):任务3 改错级数
10、求和编码 compile和link错误信息改正后的源程序清单:#include int main()int n;double s,t,q;printf(q=);scanf(%lf,&q);n=1;s=0;while(s=q-1)t=s;s=s+1.0*(n+1)/n;n=n+1;printf(n=%d, %lfn,n-1,s);return 0;测试测试用例:输入:50输出:45, 49.运行过程记录(截屏图):任务4 编程BMI体重指数编码源程序清单:#include#includeint main()float weight,height; float BMI;/1.输入体重和身高 pri
11、ntf(weight=); scanf(%f,&weight); printf(height=); scanf(%f,&height);/计算BMI BMI=weight/(float)pow(height,2); printf(BMI=%.2f,BMI);/根据BMI输出健康情况 if(BMI=28) printf(肥胖。n); else if(BMI=24) printf(超重。n); else if(BMI=18.5) printf(健康体重。n); else printf(轻体重。n);return 0;测试测试用例设计:(自行增减)输入:weight=56Height=1.60输出:
12、BMI=21.87, 健康体重输入:weight=78Height=1.80输出:BMI=24.07, 超重。运行过程记录(截屏图):(只需一次)任务5 编写程序公式计算编码源程序清单:#include #includeint main()double s,a,t; int m;printf(m=);scanf(%d,&m);s=0;a=0;if(m/2!=0)m=m-1;for(int i=1;i=m;i=i+2) t=log(i*1.0); a=a+t; s=sqrt(a*1.0);printf(s=%fn,s);return 0;测试测试用例设计:(自行增减)输入:m=20输出:s=4.输入:m=21输出:s=4.运行过程记录(截屏图):(只需一次)任务6 编写程序计算所得税编码源程序清单:#includeint main()int s,d;double a,b;printf(请输入月薪s:);scanf(%d,&s);if(s3500&s5000&s8000&s=1250