C语言程序设计实验手册 下载本文

内容发布更新时间 : 2024/12/22 18:11:35星期一 下面是文章的全部内容请认真阅读。

学号: 姓名: 成绩:

实验三 分支结构程序设计

实验目的:

1.熟悉掌握关系表达式和逻辑表达式的使用

2.熟练掌握用嵌套的if语句和switch语句实现多分支结构程序设计 3.掌握使用断点调试程序的方法 实验内容:

3.1 按要求调试程序

输入参数a,b,c,求一元二次方程ax+bx+c=0的根。 include #include int main(void)

{ double a, b, c,d;

printf(\ scanf(\ d = b * b - 4 * a * c; if(a==0){

if(b = 0){ if(c == 0)

printf(\参数都为零,方程无意义!\\n\ /*调试时设置断点*/ else

printf(\和b为0,c不为0,方程不成立\\n\ } else

printf(\ } else

if(d >= 0) { /*调试时设置断点*/ printf(\ printf(\ } else{

printf(\ printf(\ }

return 0; /*调试时设置断点*/ }

2

注:调试时按注释位置设置三个断点,单击Go按钮,输入2.1 8.9 3.5 ,观察变量值的情况。

第一次断点:a,b,c的值分别是: 第二次断点:d的值是:

第三次断点:运行窗口显示:

3.2 求三角形的面积和周长

输入三角形的三条边 a, b, c,如果能构成一个三角形,输出面积area 和周长perimeter(保留2 位小数);否则,输出“These sides do not correspond to a valid triangle”。 在一个三角形中,任意两边之和大于第三边。 三角形的面积计算公式:

area?s(s?a)(s?b)(s?c) 其中:s = (a+b+c)/2

3.3 计算个人所得税

输入一个职工的月薪 salary,输出应交的个人所得税tax(保留2 位小数)。 tax = rate * (salary-3500) - deduction

当 salary <= 3500 时,rate = 0,deduction=0;

当 3500 < salary <= 5000时,rate = 3%,deduction=0;

当 8000 < salary <=12500 时,rate =20%,deduction=555; 当 12500 < salary <= 38500 时,rate =25%,deduction=1005; 当 38500 < salary <=58500 时,rate =30%,deduction=2755; 当 58500 < salary <= 83500 时,rate =35%,deduction=5505; 当 83500 < salary 时,rate =45%,deduction=13505;

3.4 计算出租车费

某市不同品牌出租车价格为:捷达5元起价,1公里内收起步价,1公里外按1.4元/公里收取;速腾7元起价,1公里内收起步价,1公里外按1.4元/公里收取;红旗10元起价,1公里内收起步价,1公里外按1.5元/公里收取。编写程序,从键盘输入乘车车型和乘车公里数,输出应付的车费。(采用switch语句实现车型选择)

实验总结:

学号: 姓名: 成绩:

实验四 循环结构程序设计

实验目的:

1.熟练掌握for、while、和do…while语句实现循环程序设计 2. 理解循环条件和循环体,以及三种循环语句的相同和不同之处 3.熟练掌握break、continue语句的使用 4.掌握使用“Debug”菜单调试程序的方法 实验内容:

4.1 按要求调试程序

改正下列程序中的错误,输入2个正整数m和n,输出它们的最小公倍数和最大公约数。

#include int main(void) {

int m, n, j, k; /* j表示最小公倍数,k表示最大公约数 */

do{

printf(\ scanf(\ printf(\ scanf(\ }while(m<0||n<0); j = m;

while(j % n != 0) /* 调试时设置断点 */ j = j + m; k = (m * n) / j; /* 调试时设置断点 */ printf(\最小公倍数是%d \\n最大公约数是%d\\n \

return 0; }

注:调试时按注释位置设置二个断点,单击Go按钮,输入3 7 ,观察变量值的情况。

第一次断点:m,n的值分别是: 第二次断点:j的值是:

若结果不对,停止调试,改正错误后,取消第一个断点,单击Go,到断点处,此时j的值是: