1、41101105 实验 03 分支结构程序设计实验三 分支结构程序设计班级: 11机械设计本1班 学号: 201141101105 姓名: 张钊涛 评分: 一【实验目的】1、熟练掌握关系表达式和逻辑表达式的使用。2、熟练掌握用嵌套的if语句和switch语句实现多分支结构程序设计。3、熟练掌握switch语句中break语句的作用。4、掌握使用断点调试程序的方法。二【实验内容和步骤】1、程序调试题A目标:进一步学习掌握程序调试的方法和技巧。B内容:参照实验指导教材P31“1.调试示例”,改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error03_1.
2、cpp) 调试正确的源程序清单#include #include int main(void) double a, b, c,d; printf(Enter a,b,c:); 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.2fn, -c/b); else if(d = 0) printf(x1=%0.2fn, (-b+sqrt(d)/(
3、2*a); printf(x2=%0.2fn, (-b-sqrt(d)/(2*a); else printf(x1=%0.2f+%0.2fin, -b/(2*a), sqrt(-d)/(2*a); printf(x2=%0.2f-%0.2fin, -b/(2*a), sqrt(-d)/(2*a); return 0; 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。2、完善程序,并调试运行程序题目(1)显示两级成绩。(注:以下文件均保存在“第1题”文件夹中)打开proj1.cpp文件,从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:输入一个学生的数
4、学成绩,如果它低于 60,输出“Fail”,否则,输出“Pass”。在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单#include int main( ) int ri, repeat; int mark; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%d,&mark); /, 60FailPass /*/if(mark60) printf(Failn); else printf(Passn); /*/ 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(2)找最小值。(注:以下文件均保存在“第2题”文件
5、夹中)打开proj2.cpp文件,从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:输入四个整数,输出其中的最小值。在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单 /程序功能:从键盘上输入四个整数,输出其中的最小值。 /提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。 #include int main( ) int a, b, c, d, min; scanf(%d%d%d%d, &a, &b, &c, &d); /请在两条星线之间填入相应的代码,求a、b、c、d四个数中的最小值。 /*/ if(ab&ac&ad)
6、 min=a; else if(ba&bc&bd) min=b; else if(ca&cb&cd) min=c; else min=d; /*/ printf(min is %dn, min); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(3)求三角形的面积和周长。(注:以下文件均保存在“第3题”文件夹中)打开proj3.cpp文件,从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:输入三角形的三条边 a, b, c,如果能构成一个三角形,输出面积area 和周长perimeter(保留2 位小数);否则,输出“These sides d
7、o not correspond to a valid triangle”。在两条星线之间填入相应的代码,使程序完成该功能。构成三角形的条件:在一个三角形中,任意两边之和大于第三边。三角形的面积公式:aere*area = s(s-a)(s-b)(s-c),其中:s = (a+b+c)/2。 调试正确的源程序清单/程序功能:从键盘上输入三角形的三条边a,b,c,若能构成三角形,输出面积area 和周长perimeter/ (保留2 位小数);否则,输出These sides do not correspond to a valid triangle。/提 示:/ (1).构成三角形的条件:在一
8、个三角形中,任意两边之和大于第三边。/ (2).三角形的面积公式:aere*area = s(s-a)(s-b)(s-c),其中:s = (a+b+c)/2。/ (3).除在指定位置添加语句之外,请不要改动程序中的其他内容。#include #include int main( ) float a, b, c, area, perimeter, s; scanf(%f%f%f, &a, &b, &c); /请在两条星线之间填入相应的代码,若能构成三角形,输出面积area 和周长perimeter /(保留2 位小数);否则,输出These sides do not correspond to
9、a valid triangle。 /*/ if(a=0|b=0|c=0) printf(Input error!n); else if(ca+b&ba+c&ab+c) perimeter=a+b+c; s=perimeter/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%f,perimeter=%fn,area,perimeter); else printf(These sides do not correspond to a valid trianglen); /*/ 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(4)判断数的符号
10、。(注:以下文件均保存在“第4题”文件夹中)打开proj4.cpp文件,从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:输入整数x,若x大于0,y=1;若x等于0,y=0;否则,y=-1,最后输出y。在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:从键盘上输入整数x,若x大于0,y=1;若x等于0,y=0;否则,y=-1,最后输出y。/提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include int main( ) int x, y; scanf(%d,&x); /请在两条星线之间填入相应的代码,
11、若x大于0,y=1;若x等于0,y=0;否则,y=-1。 /*/ if(x0) y=1; else if(x=0) y=0; else y=-1; /*/ printf(%dn,y); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(5)判断数的符号。(注:以下文件均保存在“第5题”文件夹中)打开proj5.cpp文件,从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:输入一个职工的月薪 salary,输出应交的个人所得税tax(保留2 位小数)。在两条星线之间填入相应的代码,使程序完成该功能。个人所得税计算公式:tax = rate * (s
12、alary-850)/100,其中rate取值条件为:当 salary = 850 时,rate = 0;当 850 salary = 1350 时,rate = 5;当 1350 salary = 2850 时,rate = 10;当 2850 salary = 5850 时,rate = 15;当 5850 salary 时,rate = 20; 调试正确的源程序清单/程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 输入一个职工的月薪 salary,输出应交的个人所得税tax(保留2 位小数)。/提 示: 除在指定位置添加语句之外,请
13、不要改动程序中的其他内容。#include int main( ) int ri, repeat; float rate, salary, tax; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) scanf(%f, &salary); /请在两条星线之间填入相应的代码,计算个人所得税。 /*/ if(salary=850) rate=0; else if(salary=1350) rate=5; else if(salary=2850) rate=10; else if(salary=5850) rate=15; else rate=20; tax
14、=rate*(salary-850)/100; /*/ printf(tax=%0.2fn, tax); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(6)显示水果的价格。有4种水果:苹果(apples)、梨(pears)、桔子(oranges)和葡萄(grapes),每千克单价分别是3.00元,2.50元,4.10元和10.20元。程序功能:在屏幕上显示以下菜单(编号和选项),用户输入水果的编号,输出该水果的单价(保留2 位小数),如果输入不正确的编号,显示单价为0。(要求:从键盘上输入一个正整数repeat (0repeat10),可以做repeat次查询)。1 apples2
15、 pears3 oranges4 grapes打开proj6.cpp程序文件(注:程序文件保存在“第6题”文件夹中),在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:在屏幕上显示以下菜单(编号和选项),用户输入水果的编号,输出该水果的单价/ (保留2 位小数),如果输入不正确的编号,显示单价为0/ 要求:从键盘上输入一个正整数repeat (0repeat10),可以做repeat次查询。/提 示: 除在指定位置添加语句之外,请不要改动程序中的其他内容。#include int main( ) int ri, repeat; int choice; float
16、 price; scanf(%d, &repeat); for(ri=1; ri=repeat; ri+) printf(1 applesn); printf(2 pearsn); printf(3 orangesn); printf(4 grapesn); scanf(%d, &choice); /请在两条星线之间填入相应的代码,根据编号,查询单价,若编号不正确,则单价为0。 /*/ switch(choice) case 1:price=3;break; case 2:price=2.5;break; case 3:price=4.1;break; case 4:price=10.2;br
17、eak; default:price=0; /*/ printf(price=%0.2fn, price); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(7)字母转换。程序功能:输入一个正整数 repeat (0repeat10),做repeat 次下列运算:输入一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。(注:程序文件保存在“第7题”文件夹中)打开proj7.cpp程序文件,在两条星线之间填入相应的代码,使程序完成该功能。 调试正确的源程序清单/程序功能:输入一个正整数 repeat (0repeat10),做repeat 次下列运算:/ 输入一个字符,若它是大写字母,输出相应的小写字母;若/ 它是小写字母,输出相应的大写字母;否则,原样输出。/提 示: 除在指定位置添加语句之外,请不要改动程序中的其他内容。#include int main( ) int ri, repeat; char ch; scanf(%d, &repeat); for(ri=1; ri=A & ch=a & ch=z) ch=ch-32; /*/ putchar(ch); 运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。三【实验总结】答:本人感觉这次的实验比上次的要难点!有些还没有学到,得去查资料。不过学到了很多。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1