- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京石油化工学院
北京石油化工学院 12级复习题
程序改错
一、下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执 行结果。
1 .求 1234n
mai n()
{ long int sum;
int n,i=1;
scan f("%d", n);
printf( \n ”
while(i<n)
{ sum=sum*i;
i++;
}
pri
}
求一个数组中最大值及其下标。
mai n()
{ int max,j,m;
int a[5];
for(j=1;j<=5;j++)
sea nf( %d ”,a);
max=a[0];
for(j=1;j<=5;j++) if(max>a[j])
{ max=a[j]; m=j;
}
pri
}
*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;
}
main ()
{ float a,b;
intc,
sca nf("%f,%f",&a,&b);
c=sum(a,b);
prin tf("\nSum is %f",sum);
}
5 ?用指针作函数参数,对输入的两个整数按大小顺序输出。
swap(i nt *p1,*p2)
{ int *p;
*p=*p1;*p1=*p2;*p2=*p;
}
main ()
{ int a,b;
int *q1,*q2;
scan f("%d,%d",&a,&b);
&q仁a, &q2=b;
if(a<b) swap(*q1,*q2);
prin tf("\n%d,%d\n",q1,q2);
}
前五题答案:
1.sum应初始化第四行改为:第六行改为:第十行改为:即加入sum=1 scanf( “
1.sum应初始化
第四行改为:
第六行改为:
第十行改为:
2.第四行改为:for(j=0;j<5;j++)
第五行改为:scanf( %d”,&a[j]);
第七行改为:for(j=0;j<5;j++)
第八行改为:if(max<a[j])
第十三行改为:printf(下标:%d\n最大值:%d ”,m,max)
第三行改为:int c;
第五行改为:printf( c=%d ”,c);
第一行改为:float sum(float x, float y );
第四行改为:return(z);
第八行:float c;
第 ^一行:prin tf("\nSum is %f',c);
第 2、3 行:{ int t;
t=*pi;*pi=*p2;*p2=t;第 9 行:q仁&a,q2=&b;
第 10 行:if(a<b) swap(q1,q2);
第 11 行:printf("\n%d,%d\n",*q1,*q2);
程序读入20个整数,统计非负数个数,并计算非负数之和
#in elude “ stdio.h ”
main ()
{
int i, a[20], s , count ; s=co un t=1;
for( i=1; i<20; j--)
seanf( “ %a[i]);
for(i=0;i<20;i++)
s=co un t=0;
for(i=0;i<20;i--)
scanf( %d ':&a[i]);
{
con ti nue;if(a[i]<0) break;
con ti nue;
s +=a[i];
coun t++;
}
printf( “ s=% n”,s, count);
}
printf( s=%d count=%d\n ”,s,count);
x , y两个数中,让x中存较大的数,y存较小的数 #in clude<stdio.h> mai n()
{
int x , y=200 , z=0;
x=180;
if ( x<y)
z=x;__x=y__y=z一 { z=x;x=y;y=z;}
printf( “=%d,y=%d\n ",&x,&y);
}
printf(. “=%d,y=%d\n …:x,y); . }
从键盘输入整数x的值,并输出y的值.
main ()
int x; float y;printf( y=%f ”,y);
int x; float y;
printf( y=%f ”,y);
scanf( %d", &x);
y=3.5+x;
printf( y=%d ”);
}
从1加到100,并输出.
Mai n ()
{int i , sum
i=1;
While ( i<=100 )
{ sum=sum*i:
i++ :
}printf ( “ %C' , sum )
}
10、求一个
文档评论(0)