好文档 - 专业文书写作范文服务资料分享网站

C语言程序改错基本题库

天下 分享 时间: 加入收藏 我要投稿 点赞

C语言程序改错基本题库

北京石油化工学院 12级复习题

程序改错

一、 下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。 1.求1234n main()

{ long int sum; int n,i=1;

scanf(\printf(“\\n”); while(i

{ sum=sum*i; i++; }

printf(\}

2.求一个数组中最大值及其下标。

main( )

{ int max,j,m; int a[5];

for(j=1;j<=5;j++) scanf(“%d”,a); max=a[0];

for(j=1;j<=5;j++) if(max>a[j]) { max=a[j]; m=j; }

printf(“下标:%d\\n最大值:%d”, j, max) }

*3、 求 3+4

int a=3,b=4; main() { int a,c; c=a+b;

printf(“c=%d”); }

4.用一个函数求两个数之与。

sum(x,y) { float z; z=x+y; return; }

C语言程序改错基本题库

main()

{ float a,b; int c;

scanf(\c=sum(a,b);

printf(\}

5.用指针作函数参数,对输入的两个整数按大小顺序输出。 s *p1,*p2) { int *p;

*p=*p1;*p1=*p2;*p2=*p; }

main() { int a,b;

int *q1,*q2;

scanf(\&q1=a,&q2=b; if(a

前五题答案:

1、sum应初始化 即加入sum=1 第四行改为:scanf(“%d”,&n); 第六行改为:while(i<=n)

第十行改为:printf(\2、 第四行改为:for(j=0;j<5;j++) 第五行改为:scanf(“%d”,&a[j]); 第七行改为:for(j=0;j<5;j++) 第八行改为:if(max

第十三行改为:printf(“下标:%d\\n最大值:%d”, m,max) 3、 第三行改为:int c;

第五行改为:printf(“c=%d”,c);

4、 第一行改为:float sum(float x, float y ); 第四行改为:return(z); 第八行:float c;

第十一行:printf(\5、 第2、3行:{ int t;

t=*p1;*p1=*p2;*p2=t; 第9行:q1=&a,q2=&b; 第10行:if(a

第11行:printf(\

6. 程序读入20个整数,统计非负数个数,并计算非负数之与、 #include “stdio、h” main()

C语言程序改错基本题库

{

int i, a[20], s , count ;

s=count=1; s=count=0; for( i=1; i<20; i- -) for(i=0;i<20;i--) scanf(“%d”, a[i] ); scanf(“%d”,&a[i]); for(i=0;i<20;i++) {

if(a[i]<0)

break; continue; s +=a[i]; count++; }

printf(“s=%f count=%f\\n”, s, count); }

printf(“s=%d count=%d\\n”,s,count); 7、 x , y两个数中,让x中存较大的数,y存较小的数 #include main( ) {

int x , y=200 , z=0; x=180;

if ( x

z=x; x=y; y=z; { z=x;x=y;y=z;} printf(“x=%d,y=%d\\n”,&x,&y); }

printf(“x=%d,y=%d\\n”,x,y); }

8、 从键盘输入整数x的值,并输出y的值、

main()

{ float x,y; 正确的: int x; float y; scanf(“%d”,&x);

y=3、5+x;

printf(“y=%d”); printf(“y=%f”,y); }

9、 从1加到100,并输出、

Main ( )

{int i , sum i=1;

While ( i<=100 ) { sum=sum*i; i++ ; }

printf ( “%c”, sum ) }

10、求一个4×4矩阵的对角线元素之与

8t7m76drm69ersa9pruq6ksx797jw500wse
领取福利

微信扫码领取福利

微信扫码分享