实验03参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三分支结构程序设计
班级:学号:姓名:评分:
一.【实验目的】
1、熟练掌握关系表达式和逻辑表达式的使用。
2、熟练掌握用嵌套的if语句和switch语句实现多分支结构程序设计。
3、熟练掌握switch语句中break语句的作用。
4、掌握使用断点调试程序的方法。
二.【实验内容和步骤】
1、程序调试题
A.目标:进一步学习掌握程序调试的方法和技巧。
B.内容:参照《实验指导》教材P31“1.调试示例”,改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error03_1.cpp)
①调试正确的源程序清单
#include
#include
int main(void)
{
double a, b, c,d;
printf("Enter a, b, c \n");
scanf("%lf%lf%lf", &a, &b, &c);
d = b * b - 4 * a * c;
if(a==0){
if(b == 0){
if(c == 0)
printf("参数都为零,方程无意义!\n");
else
printf("a和b为0,c不为0,方程不成立\n");
}
else
printf("x = %0.2f\n", -c/b);
}
else
if(d >= 0){
printf("x1=%0.2f\n", (-b+sqrt(d))/(2*a));
printf("x2=%0.2f\n", (-b-sqrt(d))/(2*a));
}
else{
printf("x1=%0.2f+%0.2fi\n", -b/(2*a), sqrt(-d)/(2*a));
printf("x2=%0.2f-%0.2fi\n", -b/(2*a), sqrt(-d)/(2*a));
}
return 0;
}
②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。
2、完善程序,并调试运行程序
题目(1)显示两级成绩。(注:以下文件均保存在“第1题”文件夹中)打开proj1.cpp文件,从键盘上输入一个正整数repeat (0 ①调试正确的源程序清单 #include int main( ) { int ri, repeat; int mark; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++) { scanf("%d",&mark); //请在两条星线之间填入相应的代码,如果数学成绩低于 60,输出"Fail",否则,输出"Pass" /********************************************************************************/ if(mark<60)printf("Fail\n"); else printf("Pass\n"); /******************************************************************************** / } } ②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。 题目(2)找最小值。(注:以下文件均保存在“第2题”文件夹中)打开proj2.cpp文件,从键盘上输入一个正整数repeat (0 ①调试正确的源程序清单 #include int main( ) { int ri, repeat; int a, b, c, d, min; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++) { scanf("%d%d%d%d", &a, &b, &c, &d); //请在两条星线之间填入相应的代码,求a、b、c、d四个数中的最小值。 /************************************************************/ min=a; if(min>b) min=b; if(min>c) min=c; if(min>d) min=d; /************************************************************/ printf("min is %d\n", min); } } ②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。 题目(3)求三角形的面积和周长。(注:以下文件均保存在“第3题”文件夹中)打开proj3.cpp文件,从键盘上输入一个正整数repeat (0 构成三角形的条件:在一个三角形中,任意两边之和大于第三边。 三角形的面积公式:aere*area = s(s-a)(s-b)(s-c),其中:s = (a+b+c)/2。 ①调试正确的源程序清单 #include #include int main( ) { int ri, repeat; float a, b, c, area, perimeter, s; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++) { scanf("%f%f%f", &a, &b, &c); //请在两条星线之间填入相应的代码,若能构成三角形,输出面积area 和周长perimeter //(保留2 位小数);否则,输出"These sides do not correspond to a valid triangle"。