c语言实训指导书 下载本文

F表示华氏温度。 源程序(有错误) #include void main() {

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 void main() {

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 #include void main()

{ 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