您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 实验四过程控制的程序设计
单元4过程控制1实验内容任务1改错分段函数的计算1.打开程序文件error4-6.cpp。#includestdio.hintmain(void){doublex;printf(Enterx:\n);scanf(=%f,x);if(x0){flag=1;}elseif(x=0){flag=0;}else(x0)flag=-1;printf(f(%.2f)=%d\nxflag);return0;}2.程序的功能是输入一个浮点数x,如果x大于0,flag等于1,如果x小于0,flag等于-1,如果x等于0,flag等于0。请根据VC的错误信息改正错误,使程序可以运行。3.测试运行结果,找出逻辑错误,使程序能按测试用例正确运行。任务2改错两数排序1.打开程序文件error4-7.cpp。#includestdio.hintmain(void){doublea,b,c;printf(Entera,b:\n);测试用例1:测试用例2:测试用例3:Enterx:938.23f(938.23)=1Enterx:0f(0.00)=0Enterx:-737.1f(-737.10)=-1单元4过程控制2scanf(%lf,%lf,a,b);if(ab)c=a;a=b;b=c;printf(a=%lf,b=%lf\na,b);return0;}2.程序的功能是输入两数到变量a,b,比较a、b,使a中存放较小数,b中存放较大数。请根据VC的compile和link错误信息改正错误,使程序可以运行。3.测试运行结果Entera,b:24.5,14.5a=14.5b=24.5任务3改错级数求和1.打开程序文件error4-8.cpp。#includestdio.hintmain(){intn;doubles,t,q;printf(q=);scanf(%lf,&q);n=1;while(sq){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=50n=45:49.394948单元4过程控制3任务4编程BMI体重指数1.打开程序ex4_1.cpp,文件给出了部分代码,请根据注释提示完成划线部分语句,完整程序功能。#includestdio.hintmain(){floatweight,height;floatBMI;//1.输入体重和身高printf(weight=);scanf(%f,&weight);printf(height=);scanf(%f,&height);//计算BMIBMI=weight/()pow(height,2);printf(BMI=%.2f,,BMI);//根据BMI输出健康情况if(BMI=28)printf(肥胖。\n);elseif()printf(超重。\n);elseif()printf(健康体重。\n);elseprintf(轻体重。\n);return0;}2.任务描述:BMI指数(BodyMassIndex)即身体质量指数,是与体内脂肪总量密切相关的指标,主要反映全身性超重和肥胖。它的计算公式为:BMI=体重(kg)/身高(m)的平方。成年人身体质量按BMI指数分为:轻体重(BMI18.5)、健康体重(18.5≤BMI24)、超重(24≤BMI28)、肥胖28≥BMI。输入体重(Kg)和身高(m),计算身体质量指数BMI,并输出健康信息。3.运行示例:weight=56height=1.60BMI=21.87,健康体重单元4过程控制4任务5编写程序公式计算1.打开程序文件ex4_2.cpp,文件给出了部分代码,请根据注释提示完成划线部分语句,完整程序功能。2.程序的功能是按下面的公式计算并输出s的值,m的值由键盘输入,m应是一个奇数,如果输入的是一个偶数,取小于m的最大奇数。3.测试运行结果m=20s=4.505522任务6编写程序计算所得税创建一个程序文件ex4_3.cpp,输入月薪,输出个人所得税。所得税计算参阅P63习题3程序题第2题任务7编写程序取位算法应用创建一个程序文件ex4_4.cpp,计算任意一个整数x的中a的出现次数,例如x为222723272,a为2,a在x中的出现次数为6。#includestdio.h#includemath.hintmain(){doubles;intm;printf(m=);scanf(%d,&m);for(inti=1;i=m;)s+=;printf(s=%f\n,);return0;}单元4过程控制5任务8编写程序判闰年创建一个程序文件ex4_5.cpp,输出21世纪所有的闰年。任务9编写程序兑换钱币创建一个程序文件ex4_6.cpp,用一张一元票换1分、2分和5分的硬币(至少各一枚),问有哪几种换法。实验报告任务1改错分段函数的计算编码compile和link错误信息改正后的源程序清单:#includestdio.hintmain(void){intflag;doublex;printf(Enterx:\n);scanf(%lf,&x);if(x0){flag=1;}elseif(x==0){flag=0;}else{flag=-1;}printf(f(%.2f)=%d\n,x,flag);return0;}测试测试用例一:输入:938.23输出:1单元4过程控制6运行过程记录(截屏图):测试用例二:输入:0输出:0运行过程记录(截屏图):测试用例三:输入:-737.1输出:-1运行过程记录(截屏图):任务2改错两数排序编码compile和link错误信息改正后的源程序清单:#includestdio.hintmain(void){doublea,b,c;printf(Entera,b:\n);scanf(%lf,%lf,&a,&b);if(ab){c=a;a=b;b=c;}else{a=a;b=b;}单元4过程控制7printf(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错误信息改正后的源程序清单:#includestdio.hintmain(){intn;单元4过程控制8doubles,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体重指数编码源程序清单:#includestdio.h#includemath.hintmain(){floatweight,height;floatBMI;//1.输入体重和身高printf(weight=);scanf(%f,&weight);printf(height=);scanf(%f,&height);//计算BMIBMI=weight/(float)pow(height,2);printf(BMI=%.2f,,BMI);单元4过程控制9//根据BMI输出健康情况if(BMI=28)printf(肥胖。\n);elseif(BMI=24)printf(超重。\n);elseif(BMI=18.5)printf(健康体重。\n);elseprintf(轻体重。\n);return0;}测试测试用例设计:(自行增减)输入:weight=56Height=1.60输出:BMI=21.87,健康体重输入:weight=78Height=1.80输出:BMI=24.07,超重。运行过程记录(截屏图):(只需一次)任务5编写程序公式计算编码源程序清单:#includestdio.h#includemath.hintmain(){doubles,a,t;intm;printf(m=);单元4过程控制10scanf(%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编写程序计算所得税编码源程序清单:#includestdio.hintmain(){ints,d;doublea,b;printf(请输入月薪s:);scanf(%d,&s);if(s=3500){a=0;d=0;}elseif(s3500&&s=5000)单元4过程控制11{a=0.03;d=0;}elseif(s5000&&s=8000){a=0.10;d=105;}elseif(s8000&&s=12500){a=0.20;d=555;}elseif(s12500&&s=38500){a=0.25;d=1005;}elseif(s38500&&s=58500){a=0.30;d=2755;}elseif(s58500&&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编写程序取位算法应用编码单元4过程控制12源程序清单:#includestdio.hintmain(){inta,x,b,count=0;printf(请输入1个数a:);scanf(%d,&a);printf(请输入1组数x:);scanf(%d,&x);if(x0)x=-x;while(x0){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编写程序判闰年编码源程序清单:#includestdio.hintmain()单元4过程控制13{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);}elseprintf(%d\n,i);}}return0;}运行过程记录(截屏图):任务9编写程序兑换钱币编码源程序清单:#includestdio.h单元4过程控制14intmain(){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
本文标题:实验四过程控制的程序设计
链接地址:https://www.777doc.com/doc-2459891 .html