F表示华氏温度。 源程序(有错误) #include
int celsius;fahr; fahr=100;
cels celsius=5*(fahr-32)/9;
printf(\ }
4
实验三 选择结构程序设计
【实训目的】
1.了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”); 2.学会正确使用逻辑运算符和逻辑表达式; 3.熟练掌握if语句和switch语句; 4.熟练掌握switch语句中break语句的作用。 【实训内容】
1.调试示例,输入参数a,b,c,求一元二次方程ax2+bx+c=0的根。
源程序(有错误的程序)
#include
double a,b,c,d;
printf(“输入一元二次方程 a=,b=,c=\\n”); scanf(“a=%lf,b=%lf,c=%lf”,&a,&b,&c); d=b*b-4*a*c; if(a==0) { if(b=0) {
if(c==0)
printf( “0==0参数对方程无意义!”); else printf( “c!=0方程不成立”); }
else
printf(“x=%0.2f\\n”,-c/b); } else
if(d>=0) {
printf(“x1=%0.2f\\n”,(-b+sqrt(d))/(2*a)); printf(“x1=%0.2f\\n”,(-b-sqrt(d))/(2*a)); } else {
printf(“x1=%0.2f+%0.2fi\\n”,-b/(2*a),sqrt(-d)/(2*a)); printf(“x1=%0.2f-%0.2fi\\n”,-b/(2*a),sqrt(-d)/(2*a)); }
5
2.编程,输入x,计算并输出下列分段函数f(x)的值(保留2位小数)。
输入输出示例: Input x: -2.5 f(-2.500000)=-2.5
提示:该程序应该运行3次,每次测试一个分支,即分别输入每个分段中的x值。 思考:假设x为整数,如何用switch计算上述分段函数。
3.编程,把百分制成绩转换成5级记分制,要求用switch语句。 90分以上(包括90): A 80至90分(包括80):B 70至80分(包括70):C 60至70分(包括60):D 60分以下:E
输入输出示例: Input Score: 86
86的等级为B
提示:
1)该程序应该运行6次,每次测试一种情况,即分别输入不同等级的成绩 2)在switch中使用break语句 思考:
如何用if语句实现转换?
6
实验四 循环结构程序设计
【实训目的】
1.熟练掌握循环程序设计,包括嵌套循环
2.熟练掌握使用break、continue语句在循环程序设计中的实现 3.继续掌握WIN_TC的程序调试方法 【实训内容】
1.调试示例,输入正整数的个数n,再输入n个正整数,判断它们是否为素数。(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
源程序(有错误) #include
{ int i,j,k,m,n;
printf(“输入正整数的个数n:”); scanf(“%d”,&n);
printf(“输入%d个正整数\\n”); for(j=0;j { scanf(“%d”,&m); n=sqrt(m); for(i=2;i if(m/i==0) break; if(i>n) printf(“%d是一个素数!\\n”,m); else printf(“%d不是一个素数!\\n”,m); } } 运行结果(改正后程序的运行结果) 输入正整数的个数:2 输入2个正整数 11 11是一个素数 15 15不是一个素数 7