C语言程序改错基本题库.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

cooldemon0602 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档