1、 d=b*b-4*a*c; /断点 1 if (a=0) if (b=0) if (c=0) printf(参数都为零,方程无意义!n elsea 和 b 为 0,c 不为 0,方程不成立! else printf(x=%0.2fn,-c/b); else if (d=0) /断点 2x1=%0.2fn,(-b+sqrt(d)/(2*a);x2=%0.2fn,(-b-sqrt(d)/(2*a); else /断点 3x1=%0.2f+%0.2fin,-b/(2*a),sqrt(d)/(2*a);x2=%0.2f-%0.2fin说明: 断点的作用是使程序执行到断点处暂停,让用户可以观察当前变量或
2、表达式的值。设置断点时,先将光标定位到要设置断点的位置,然后单击编译微型工具的“”按钮,断点即设置完毕。如果要取消设置的断点,只需要将光标移到要取消的断点处,单击“”按钮,该断点即取消。(1)打开源程序,对程序进行编译和连接,没有出现错误信息。(2)调试开始,设置三个断点,具体位置见源程序的注释。(3)单击 Go 按钮,输入 a,b,c 的值(2.0 9.0 3.0)后,程序执行到第一个断点处,在观察窗口输入变量名 a,b,c,查看变量 a,b,c 的值。此时,这些变量的值与输入的值一致。(4)继续单击 Go 按钮,程序运行到第二个断点处,观察到变量 d 的值为 57,说明方程有实根。(5)再
3、次单击 Go 按钮,程序运行到最后一个断点处,运行窗口显示 x1=-0.36,x2=-4.14,符合题目要求。(6)单击 Stop Debugging 按钮,程序调试结束二、实验内容一(验证及程序分析)Eg2-2:从键盘输入两个 0 到 127 的整数,求两数的平方差并输出其值以及这两个整数的 ASCII 码对应的字符。(1)算法分析:标准 ASCII 码值范围是 0 到 127,所以在此范围内的数可以以字符形式输出,实现方法是用格式输出函数并用格式符 %c 控制输出 。(2)源程序:int x,y,sub ;scanf(%d%d,x,y); /* 变量前一定要加取地址符& ,再次提醒!*/s
4、ub=x*x-y*y ; /*注意读题意!printf(%c,%c,%dn,x,y,sub);(3)在 VC+编辑环境下编辑源程序。(4)编译并运行。如有错误,则改正至无错。(5)从键盘输入100 50,运行结果如何?(请将运行结果抓图放入下面框内,并体会字符型数据的存储机制!)运行结果抓图至下方:Eg2-3: 输入年份和月份,求该月有多少天。要考虑大月有 31 天,小月有 30 天,闰年的二月有 29 天以及非闰年的二月有 28 天这几种情况。 int year,month,days; 请输入年 月:year,&month); switch (month) case 1: case 3: c
5、ase 5: case 7: case 8: case 10: case 12: /*处理大月*/ days=31;break; case 4: case 6: case 9: case 11:小 days=30; /*注意跳出处理! case 2:平 if (year%4=0&year%100!=0|year%400=0) days=29; /*如果是闰年,注意体会此判断表达式! else days=28; /*不是闰年*/ break; default:Input error! n /*月份输入错误*/ days=0; if (days!=0) printf(%d年%d月有 %d 天n,y
6、ear,month,days);并仔细阅读此程序,理解其编程思路!(4)编译直到程序没有错误。2008,9,运行结果如何?为什么?运行结果:Input error!原因:原来的程序是年 月,如果输入“,”会被看成字符(6)再输入2010 6,输出结果:1900 2,输出结果:2000 2,输出结果:三、实验内容二(综合及设计类)Eg2-4: 输入一个华氏温度,要求输出摄氏温度。公式为 c=5/9*(f-32)。提示:注意 c=5/9*(f-32) 与 c=5.0/9.0*(f-32)的区别请将程序及运行结果粘贴至下面:程序:#include=b)&(a=c)max=a;else if(c=b)
7、max=c;else max=b;,max); 编程:编写程序,输入奖金数a,计算并输出税率、应缴税款和实得奖金数。奖金 税率a500 0.00500a1000 0.051000a2000 0.082000a5000 0.105000a 0.15提示:a=奖金数 rate=税率值 tax=应缴税款 profit=实得奖金数。计算公式: tax = a* rate , profit= a tax程序要求提示语句:“请输入奖金数量:”运行结果显示: “请缴纳税金:*” 请用 switch 语句加以实现。(1)请将源程序粘贴到下面。unsigned int a,b;float rate,tax,profit;请输入奖金数量:a);b=a,b=b/500;switch(b)case 0: rate=0.00; tax=a*rate,profit=a-a*rate;请缴纳税金:%0.1fn,tax);rate=%1.2fn,rate);profit=,profit); break;case 1: rate=0.05;case 2: rate=0.08;case 4: case 8: rate=0.10;%0.2fndefault: rate=0.15;(2)程序运行结果抓图至下方:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1