C语言程序改错 - 答案
更新时间:2023-11-30 09:02:01 阅读量: 教育文库 文档下载
- c语言程序改错题推荐度:
- 相关推荐
程序改错
-------------------------------------------------------- 请改正程序中的错误,使它能得出正确的结果。
注意:不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
题目1:函数fun的功能是:求出两个非零正整数的最大公约数, 并作为函数值返回。
例如,若给num1和num2分别输入49 和21,则输出的最大公约数为7。 int fun(int a,int b) {
int r,t; if(a
{ t=a;
/**********FOUND**********/ b=a;
/**********FOUND**********/ a=t;
}
r=a%b; while(r!=0) { a=b; b=r;
/**********FOUND**********/ r=a/b;
}
/**********FOUND**********/ return a; }
int main(void) {
int num1,num2,a;
scanf(\ a=fun(num1,num2);
printf(\maximum common divisor is %d\\n\\n\ return 0; }
答案:
1). a=b; 2). b=t; 3). r=a%b;}
4). return b; 或 return (b); 或 return(b);
题目2:下列给定程序中,函数fun的功能是:判断m是否为素数, 若是返回1,否则返回0。主函数的功能是:按每行5个输 出1-100之间的全部素数。
请改正程序中的4个错误,使它能得出正确的结果。 int main(void) {
int m,k=0;
for(m=1;m<100;m++) if(fun(m)==1) {
printf(\ if(k%5==0)printf(\
}
return 0; }
/**********FOUND**********/ void fun( int n) {
int i,k=1; if(m<=1) k=0;
/**********FOUND**********/ for(i=1;i /**********FOUND**********/ if(m%i=0) k=0; /**********FOUND**********/ return m; } 答案: 1). int fun( int m) 或 fun( int m) 2). for(i=2;i 3). if( m%i == 0) k=0; 4). return k; 题目3:函数fun的功能是:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项数不得多于或少于20。 请改正程序中的4个错误,使它能得出正确的结果。 void fun(void) { int i; float f1=1,f2=1,f3; /**********FOUND**********/ printf(\ /**********FOUND**********/ for(i=1;i<=20;i++) { f3=f1+f2; /**********FOUND**********/ f2=f1; /**********FOUND**********/ f3=f2; printf(\ } printf(\} int main(void) { fun(); return 0; } 答案: 1). printf(\或 printf(\ 2). for(i=1;i<20;i++) 或 for(i=1;20>i;i++) 或 for(i=2;i<=20;i++) 或 for(i=2;20>=i;i++) 或 for(i=1;i<=19;i++) 或 for(i=1;19>=i;i++) 3). f1=f2; 4). f2=f3; 题目4:有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置。 int main(void) { int i,a[10], min, k=0; printf(\please input array 10 elements\\n\ for(i=0;i<10;i++) /***********FOUND***********/ scanf(\ for(i=0;i<10;i++) printf(\ min=a[0]; /***********FOUND***********/ for(i=3;i<10;i++) /***********FOUND***********/ if(a[i]>min) { min=a[i]; k=i; } /***********FOUND***********/ a[k]=a[i]; a[0]=min; printf(\ for(i=0;i<10;i++) printf(\ printf(\ return 0; } 答案: 1). scanf(\ 2). for(i=1;i<10;i++) 或 for(i=0;i<10;i++) 或 for(i=1;i<=9;i++) 或 for(i=0;i<=9;i++) 3). if(a[i] 题目5:函数fun的功能是:求1到20的阶乘的和。 请改正程序中的错误,使它能得出正确的结果。 void fun(void) { int n,j; float s=0.0,t=1.0; for(n=1;n<=20;n++) { /**********FOUND**********/ s=1; for(j=1;j<=n;j++) /**********FOUND**********/ t=t*n; /**********FOUND**********/ s+t=s; } /**********FOUND**********/ printf(\} int main(void) { fun(); return 0; } 答案: 1). t=1; 或 t=1.0; 2). t=t*j; 或 t*=j; 3). s=s+t; 或 s+=t; 4). printf(\ 题目6:fun函数的功能是:给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。例如,n=6时,输入23.5, 45.67, 12.1, 6.4,58.9, 98.4所得平均值为40.828335,在平均值以下的实数个数应为3。 请改正程序中的错误,使它能得出正确的结果。 int fun(float x[],int n) { int j,c=0; /**********FOUND**********/ float j=0; /**********FOUND**********/ for(j=0;j<=n;j++) xa+=x[j]; xa=xa/n; printf(\ /**********FOUND**********/ for(j=0;j<=n;j++) if(x[j]<=xa) c++; /**********FOUND**********/ return xa; } int main(void) { float x[]={23.5,45.67,12.1,6.4,58.9,98.4}; printf(\return 0; } 答案: 1). float xa=0; 或 float xa=0.0; 2). for(j=0;j 题目7:函数fun的功能是:计算正整数num的各位上的数字之积。例如,输入252,则输出应该是20。 请改正程序中的错误,使它能得出正确的结果。 long fun (long num) { /**********FOUND**********/ long k; do { k*=num; /**********FOUND**********/ num\\=10; }while (num); return k; } int main(void) { long n; printf(\/**********FOUND**********/ scanf(\ /**********FOUND**********/ printf(\return 0; } 答案: 1). long k=1; 2). num/=10; 或 num=num/10; 3). scanf(\ 4). printf(\ 题目8:以下程序输出前六行杨辉三角形,即 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 ………… ………… int main(void) { static int a[6][6]; int i,j,k; /***********FOUND***********/ for(i=1;i<=6;i++) /***********FOUND***********/ { for(k=0;k<5+i;k++) printf(\ for(j=0;j<=i;j++) { /***********FOUND***********/ if(j==0&&j==i) a[i][j]=1; else /***********FOUND***********/ a[i][j]=a[i-1][j-1]+a[i][j-1]; printf(\ printf(\ } printf(\ } return 0; } 答案: 1). for(i=0;i<6;i++) 或 for(i=0;i<=5;i++) 2). for(k=0;k<5-i;k++) 3). if(j==0||j==i) 4). else a[i][j]=a[i-1][j-1]+a[i-1][j]; 题目9:将字符串s中最后一次出现的子字符串t1替换成字符串t2, 所形成的新串放在w所指的数组中,在此处,要求t1和t2 所指字符串的长度相同。 例如,当s所指字符串中的内容为\,t1中的内容为\,t2中的内容为\时,结果w所指数组中的内容应为\。 请改正程序中的语法错误,使它能运行出正确的结果。 #include int fun (char *s, char *t1, char *t2 , char *w) { int i; char *p , *r, *a; strcpy( w, s ); /**********FOUND**********/ while ( w ) { p = w; r = t1; while ( *r ) /**********FOUND**********/ if ( *r = *p ) { r++; p++; } else break; /**********FOUND**********/ if ( *r == '/0' ) a = w; w++; } r = t2; while ( *r ) { /**********FOUND**********/ a = *r; a++; r++; } } int main(void) { char s[100], t1[100], t2[100], w[100]; clrscr(); printf(\enter string S:\scanf(\ printf(\enter substring t1:\scanf(\ printf(\enter substring t2:\scanf(\ if ( strlen(t1)==strlen(t2) ) { fun( s, t1, t2, w); printf(\ %s\\n\ } else printf(\: strlen(t1) != strlen(t2)\\n\ return 0; } 答案: 1). while (*w) 或 while (*w!=0) 或 while (*w!='\\0') 或 for (;*w;) 或 for (;*w!='\\0';) 2). if ( *r == *p ) { r++; p++; } 3). if ( *r == '\\0' ) a = w; 或 if ( *r ==0 ) a = w; 4). *a=*r; { int n; float fun(); printf(\/**********FOUND**********/ print(\ printf(\return 0; } /**********FOUND**********/ fun(int n) { int i,j,t; float s; s=0; /**********FOUND**********/ while(i=1;i<=n;i++); { t=0; for(j=1;j<=i;j++) t=t+j; /**********FOUND**********/ =s+1/t; } return s; } 答案: 1). scanf(\ 2). float fun(int n) 3). for(i=1;i<=n;i++) 或 for(i=1;n>=i;i++) 或 for(i=1;i 4). s+=1.0/t 或 s=s+1.0/(float)t; 或 s=s+1.0/t; 或 s+=1.0/(float)t 题目10:以下程序的功能是求如下表达式: 111题目11:fun函数的功能是:找出大于m的 s?1???.......?.1?21?2?31?2?n.?..最小素数,并将其作为函数值返回。 请改正程序中的错误,使它能得出正 请改正程序中的错误,使程序能得到确的结果。 int fun( int m) 正确的运行结果。 #include
正在阅读:
C语言程序改错 - 答案11-30
信号与系统历年考题02-01
六年级语文期末试卷111101-22
100T汽车吊性能表11-12
幼儿园小班家长会班主任的发言稿精彩3篇03-23
莆田百科系列-方言篇08-11
爸爸你真幽默作文450字07-13
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 语言程序
- 改错
- 答案
- 论迟子建小说的爱的主题的开题报告 - 图文
- 极限配合试题
- 生命的起源和进化
- 景观生态学
- 刘德章副省长在全省违规小水电项目清理整顿工作会上的讲话
- 第十三章电流和电路电压电阻第二节电路的识别与设计电路故障分析复习真题面对面
- 防汛度汛方案
- 《幼儿教育学》习题集
- 经销商保证金管理制度
- 第十四届全国多媒体课件大赛获奖作品名单 - 图文
- 2018年创造性思维和创新方法答案解析
- 2011江苏装饰试题及答案
- QTZ63E塔吊安装使用说明书
- 2011电子商务复赛题库
- 《临床营养学》练习题单选题2009.9
- 平面设计 考题(附答案)
- 唐代文学练习,有答案
- 路基填料常用的评定指标及其规范要求
- 红豆蜂蜜酸奶的研制 学位论文
- 2013—2014学年第二学期六年级语文期末试题 - 图文