实验四过程控制的程序设计.docx
- 文档编号:4221401
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:16
- 大小:166.73KB
实验四过程控制的程序设计.docx
《实验四过程控制的程序设计.docx》由会员分享,可在线阅读,更多相关《实验四过程控制的程序设计.docx(16页珍藏版)》请在冰豆网上搜索。
实验四过程控制的程序设计
实验内容
任务1改错分段函数的计算
1.打开程序文件error4-6.cpp。
#include
intmain(void)
{doublex;
printf("Enterx:
\n");
scanf("=%f",x);
if(x>0){
flag=1;
}
elseif(x=0){
flag=0;
}
else(x<0)
flag=-1;
printf("f(%.2f)=%d\n"xflag);
return0;}
2.程序的功能是输入一个浮点数x,如果x大于0,flag等于1,如果x小于0,flag等于-1,如果x等于0,flag等于0。
请根据VC的错误信息改正错误,使程序可以运行。
3.测试运行结果,找出逻辑错误,使程序能按测试用例正确运行。
测试用例1:
测试用例2:
测试用例3:
Enterx:
938.23
f(938.23)=1
Enterx:
0
f(0.00)=0
Enterx:
-737.1
f(-737.10)=-1
任务2改错两数排序
1.打开程序文件error4-7.cpp。
#include
intmain(void)
{
doublea,b,c;
printf("Entera,b:
\n");
scanf("%lf,%lf",a,b);
if(a>b)
c=a;a=b;b=c;
printf("a=%lf,b=%lf\n"a,b);
return0;
}
2.程序的功能是输入两数到变量a,b,比较a、b,使a中存放较小数,b中存放较大数。
请根据VC的compile和link错误信息改正错误,使程序可以运行。
3.测试运行结果
Entera,b:
24.5,14.5
a=14.5b=24.5
任务3改错级数求和
1.打开程序文件error4-8.cpp。
#include
intmain()
{intn;
doubles,t,q;
printf("q=");
scanf("%lf",&q);
n=1;
while(s {t=s; s=s+(n+1)/n; n++; } printf("n=%d: %f\n",n,s); return0;} 2.程序的功能是计算并输出下列级数的前N项之和,直到SN+1大于一个q为止,q的值由键盘输入。 error3-5.cpp没有语法错误,但存在逻辑错误,请根据下面的测试用例,定位逻辑错误,改正并输出正确结构。 3.测试运行结果 q=50 n=45: 49.394948 任务4编程BMI体重指数 1.打开程序ex4_1.cpp,文件给出了部分代码,请根据注释提示完成划线部分语句,完整程序功能。 #include intmain() {floatweight,height; floatBMI; //1.输入体重和身高 printf("weight="); scanf("%f",&weight); printf("height="); scanf("%f",&height); //计算BMI BMI=weight/()pow(height,2); printf("BMI=%.2f,",BMI); //根据BMI输出健康情况 if(BMI>=28) printf("肥胖。 \n"); elseif() printf("超重。 \n"); elseif() printf("健康体重。 \n"); else printf("轻体重。 \n"); return0; } 2.任务描述: BMI指数(BodyMassIndex)即身体质量指数,是与体内脂肪总量密切相关的指标,主要反映全身性超重和肥胖。 它的计算公式为: BMI=体重(kg)/身高(m)的平方。 成年人身体质量按BMI指数分为: 轻体重(BMI<18.5)、健康体重(18.5≤BMI<24)、 超重(24≤BMI<28)、肥胖28≥BMI。 输入体重(Kg)和身高(m),计算身体质量指数BMI,并输出健康信息。 3.运行示例: weight=56 height=1.60 BMI=21.87,健康体重 任务5编写程序公式计算 1.打开程序文件ex4_2.cpp,文件给出了部分代码,请根据注释提示完成划线部分语句,完整程序功能。 #include #include intmain() {doubles; intm; printf("m="); scanf("%d",&m); for(inti=1;i<=m;) s+=; printf("s=%f\n",); return0; } 2.程序的功能是按下面的公式计算并输出s的值,m的值由键盘输入,m应是一个奇数,如果输入的是一个偶数,取小于m的最大奇数。 3.测试运行结果 m=20 s=4.505522 任务6编写程序计算所得税 创建一个程序文件ex4_3.cpp,输入月薪,输出个人所得税。 所得税计算参阅P63习题3程序题第2题 任务7编写程序取位算法应用 创建一个程序文件ex4_4.cpp,计算任意一个整数x的中a的出现次数,例如x为222723272,a为2,a在x中的出现次数为6。 任务8编写程序判闰年 创建一个程序文件ex4_5.cpp,输出21世纪所有的闰年。 任务9编写程序兑换钱币 创建一个程序文件ex4_6.cpp,用一张一元票换1分、2分和5分的硬币(至少各一枚),问有哪几种换法。 实验报告 任务1改错分段函数的计算 编码 compile和link错误信息改正后的源程序清单: #include intmain(void) {intflag; doublex; printf("Enterx: \n"); scanf("%lf",&x); if(x>0){ flag=1; } elseif(x==0){ flag=0; } else{ flag=-1; } printf("f(%.2f)=%d\n",x,flag); return0; } 测试 测试用例一: 输入: 938.23 输出: 1 运行过程记录(截屏图): 测试用例二: 输入: 0 输出: 0 运行过程记录(截屏图): 测试用例三: 输入: -737.1 输出: -1 运行过程记录(截屏图): 任务2改错两数排序 编码 compile和link错误信息改正后的源程序清单: #include intmain(void) { doublea,b,c; printf("Entera,b: \n"); scanf("%lf,%lf",&a,&b); if(a>b){ c=a;a=b;b=c;} else{ a=a;b=b; } printf("a=%lf,b=%lf\n",a,b); return0; } 测试 测试用例一: 输入: 24.5,14.5 输出: a=14.500000,b=24.500000 运行过程记录(截屏图): 测试用例二: 输入: 13,15 输出: a=13.000000,b=15.000000 运行过程记录(截屏图): 测试用例三: 输入: -3,-5 输出: a=-5.000000,b=-3.000000 运行过程记录(截屏图): 任务3改错级数求和 编码 compile和link错误信息改正后的源程序清单: #include intmain() {intn; doubles,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,%lf\n",n-1,s); return0; } 测试 测试用例: 输入: 50 输出: 45,49.394948 运行过程记录(截屏图): 任务4编程BMI体重指数 编码 源程序清单: #include #include intmain() {floatweight,height; floatBMI; //1.输入体重和身高 printf("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"); elseif(BMI>=24) printf("超重。 \n"); elseif(BMI>=18.5) printf("健康体重。 \n"); else printf("轻体重。 \n"); return0; } 测试 测试用例设计: (自行增减) 输入: weight=56 Height=1.60 输出: BMI=21.87,健康体重 输入: weight=78 Height=1.80 输出: BMI=24.07,超重。 运行过程记录(截屏图): (只需一次) 任务5编写程序公式计算 编码 源程序清单: #include #include intmain() {doubles,a,t; intm; printf("m="); scanf("%d",&m); s=0; a=0; if(m/2! =0){ m=m-1;} for(inti=1;i<=m;i=i+2) {t=log(i*1.0); a=a+t; s=sqrt(a*1.0);} printf("s=%f\n",s); return0; } 测试 测试用例设计: (自行增减) 输入: m=20 输出: s=4.505522 输入: m=21 输出: s=4.505522 运行过程记录(截屏图): (只需一次) 任务6编写程序计算所得税 编码 源程序清单: #include intmain() {ints,d; doublea,b; printf("请输入月薪s: "); scanf("%d",&s); if(s<=3500) {a=0; d=0;} elseif(s>3500&&s<=5000) {a=0.03; d=0;} elseif(s>5000&&s<=8000) {a=0.10; d=105;} elseif(s>8000&&s<=12500) {a=0.20; d=555;} elseif(s>12500&&s<=38500) {a=0.25; d=1005;} elseif(s>38500&&s<=58500) {a=0.30; d=2755;} elseif(s>58500&&s<=83500) {a=0.35; d=5505;} else {a=0.45; d=13505;} b=a*(s-3500)-d; printf("应缴纳的个人所得税为%.2f元",b); return0; } 测试 测试用例设计: (自行增减) 输入: 7000 输出: 245.00 输入: 4000 输出: 15.00 运行过程记录(截屏图): (只需一次) 任务7编写程序取位算法应用 编码 源程序清单: #include intmain() {inta,x,b,count=0; printf("请输入1个数a: "); scanf("%d",&a); printf("请输入1组数x: "); scanf("%d",&x); if(x<0) x=-x; while(x>0) {b=x%10; if(b==a) {count++;} x=x/10;} printf("%d\n",count); return0; } 测试 测试用例设计: (自行增减) 输入: a=3,x=3444335 输出: 3 输入: a=2,x=-2567222 输出: 4 运行过程记录(截屏图): (只需一次) 任务8编写程序判闰年 编码 源程序清单: #include intmain() {inti; printf("二十一世纪的所有闰年: \n"); for(i=2001;i<=2100;i++) {if(i%4==0) {if(i%100==0) {if(i%400==0) printf("%d\n",i);} else printf("%d\n",i);}} return0; } 运行过程记录(截屏图): 任务9编写程序兑换钱币 编码 源程序清单: #include intmain() {inta,b,c; printf("用一张一元票换1分、2分和5分的硬币(至少各一枚)的所有换法为: \n"); {for(a=1;a<=93;a++) for(b=1;b<=48;b++) for(c=1;c<=19;c++) if(a*1+b*2+c*5==100) printf("%d张1分、%d张2分、%d张5分\n",a,b,c);} return0; } 运行过程记录(截屏图):
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 过程 控制 程序设计