程序改错填空

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1程序改错

上机调试下面的程序,记录系统给出的出错信息,改正后写在对应错误代码行后面。

下面的程序企图计算由键盘输入的任意两个整数的平均值:

#include

void main( )

{ int x,y,a;

————>float x,y,a;

scanf(“%x,%y”,&x,&y);————> scanf(“%f,%f”,&x,&y);

a=(x+y)/2;

printf(“The average is:%d\n”,a);

————>“The average is:%f\n”

}

运行结果:输入3,5输出4.000000

结果分析:若a定义为整型,可能出现3,4的平均值为3,自动取整

2上机调试下面的程序,记录系统给出的出错信息,改正后写在对应错误代码行后面。

(1)输入三角形三边长,求三角形面积。

#include “math.h”

void main()

{

float a,b,c,area;

————> float a,b,c,area,s; scanf(“%f ,%f,%f”,a,b,c); ————> scanf(“%f ,%f,%f”,&a,&b,& c);

s=1.0/2*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c) ; ————>

area=sqrt(s*(s-a)*(s-b)*(s-c)

);

printf(“area=%d”,area)

————>

printf(“area=%f”,area)

}

运行结果:输入3,4,5输出

area=6.000000

结果分析:sqrt是库函数,

表示开方。

上机调试下面的程序,记录

系统给出的出错信息,改正

后写在对应错误代码行后

面。

(1)输入三角形三边长,

求三角形面积。

#include “math.h”

void main()

{

float a,b,c,area;

————> float a,b,c,area,s;

scanf(“%f ,%f,%f”,a,b,c);

————>

scanf(“%f ,%f,%f”,&a,&b,&

c);

s=1.0/2*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c)

;

————>

area=sqrt(s*(s-a)*(s-b)*(s-c)

);

printf(“area=%d”,area)

————>

printf(“area=%f”,area)

}

运行结果:输入3,4,5输出

area=6.000000

结果分析:sqrt是库函数,

表示开方。

(2)下面的C程序,目的

是想计算由键盘输入的任

意两个整数的积。

#include (stdio.h);

————>#include

“stdio.h”

void main();

————> void main()

scanf(“%x,%y”,&x,%y)

————>

scanf(“%d,%d”,&x,&y) ;

int c,x,y;

c=x*y

————> c=x*y;

printf(“c=%f”,c)

————>

printf(“c=%d”,c) ;

运行结果:输入2,3输出6

结果分析:注意有些地方需

要加分号,有些地方不需要

上机调试下面的程序,记录

系统给出的出错信息,改正

后写在对应错误代码行后

面。

下述程序按公式:求

①main()

②{ float s=0;

③int k;

④for(k=1;k<=10;k++;)

————>

for(k=1;k<=10;k++)

⑤s+=1/k;

————> s+=1.0/k;

⑥printf(“sum=%f\n”,s);

⑦}

运行结果:sum=2.928968

结果分析:for的第三个表

达式后无“;”

1为整数1/k为整数

上机调试下面的程序,记录

系统给出的出错信息,改正

后写在对应错误代码行后

面。

(1)已知二维数组形式如

下:求主对角线上元素之

和。

①main()

②{int a[i][j];

————> int a[4][4];

③int i,j,sum;

————> int i,j,sum=0;

④for(i=0;i<4;i++)

⑤for(j=0;j<4;j++)

⑥scanf(“%d”,a[i][j]);

————>

scanf(“%d”,&a[i][j]);

⑦for(i=0;i<4;i++)

⑧sum=sum+a[i][j];

————>

sum=sum+a[i][i];

printf(“SUM=%d”,sum);

⑩}

运行结果:sum=45

结果分析:一条对角线

(2)从键盘输入一个字符

串“how are you”,并将

字符串原样输出。

①main()

②{char f[ ];

————> char f[20 ];

③scanf(“%s”,f)

————>gets(f);

④printf(“%s”,f);

⑤}

运行结果:输入how are you

输出how are you

结果分析:gets字符串输入

函数

(3)比较两个字符串的大

小,如果相等输出equal,如

果不相等输出unequal.

①main()

②{char s1[10],s2[10];

③gets(s1);get2(s2);

相关文档
最新文档