c语言程序改错题.doc
《c语言程序改错题.doc》由会员分享,可在线阅读,更多相关《c语言程序改错题.doc(14页珍藏版)》请在咨信网上搜索。
1、 程序改错-1题目:在一个一维整型数组中找出其中最大的数及其下标。 程序中共有4条错误语句,请改正错误。-*/#define N 10/*FOUND*/float fun(int *a,int *b,int n) int *c,max=*a; for(c=a+1;cmax) max=*c;/*FOUND*/ b=c-a; return max;main() int aN,i,max,p=0; printf(please enter 10 integers:n); for(i=0;iN;i+)/*FOUND*/ scanf(%d,ai);/*FOUND*/ m=fun(a,p,N); print
2、f(max=%d,position=%d,max,p);-错误答案: 1 int fun(int *a,int *b,int n) 2 *b=c-a; 3 scanf(%d,&ai); 4 max=fun(a,&p,N); /*-2题目:用起泡法对10个整数从小到大排序。 程序中共有4条错误语句,请改正错误。-/*FOUND*/void sort(int x,int n) int i,j,k,t; for(i=0;in-1;i+)/*FOUND*/ for(j=0;jxi+1) t=xj;xj=xj+1;xj+1=t;main() int i,n,a100; printf(please inp
3、ut the length of the array:n); scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); sort(a,n); printf(output the sorted array:n); for(i=0;i=n-1;i+) printf(%5d,ai); printf(n);- 错误答案: 1 void sort(int x,int n) 2 for(j=0;jj;j+) 或 for(j=0;jj;j+) 3 if(xjxj+1) 或 if(xj+1xj) -3题目:在一个已按升序排列的数组中插入一个数,插入后,数 组元素仍按升序排列。 程
4、序中共有4条错误语句,请改正错误。#define N 11main() int i,j,t,number,aN=1,2,4,6,8,9,12,15,149,156; printf(please enter an integer to insert in the array:n);/*FOUND*/ scanf(%f,&number) printf(The original array:n); for(i=0;i=0;i-) if(number=ai)/*FOUND*/ ai=ai-1; else ai+1=number;/*FOUND*/ exit; if(numbera0) a0=numbe
5、r; printf(The result array:n); for(i=0;i=0;i-) 或 for(i=N-2;0=i;i-) 3 ai+1=ai; 4 break; -4【程序改错】题目:以下程序的功能是求如下表达式: S = 1 + 1/(1+2)+1/(1+2+3)+1/(1+2+3+4) 请改正程序中的错误,使程序能得到正确的运行结果。#include main() int n; float fun(); printf(Please input a number:);/*FOUND*/ printf(%d,n) ; printf(%10.6fn,fun(n);/*FOUND*/f
6、un(int n) int i,j,t; float s; s=0;/*FOUND*/ for(i=1;i=n;i+); t=0; for(j=1;j=i;j+) t=t+j;/*FOUND*/ s=s+1/t; return s;错误答案: 1 scanf(%d,&n); 2 float fun(int n) 3 for(i=1;i=i;i+) 或 for(i=1;ii;i+) 4 s+=1.0/t 或 s=s+1.0/(float)t; 或 s=s+1.0/t; 或 s+=1.0/(float)t/*-5题目:输入一行英文文本,将每一个单词的第一个字母变成大写。例如:输入This is a
7、 C program.,输出为This Is A C Program.。-#include #include #include /*FOUND*/fun(char p) int k=0;/*FOUND*/ while(*p=0) if(k=0&*p!= ) *p=toupper(*p);/*FOUND*/ k=0; else if(*p!= ) k=1; else k=0;/*FOUND*/ *p+; main() char str81; clrscr(); printf(please input a English text line:); gets(str); printf(The ori
8、ginal text line is :); puts(str); fun(str); printf(The new text line is :); puts(str);错误答案: 1 fun(char *p) 或 fun(char p) 2 while(*p!=0) 或 while(*p) 3 k=1; 4 p+; 或 p=1+p; 或 +p; 或 p=p+1; -6【程序改错】题目:将一个字符串中的大写字母转换成小写字母。 例如:输入aSdFG输出为asdfg。-#include/*FOUND*/char fun(char c) if(*c=A)*c-=A-a;/*FOUND*/ fun
9、= c;main()/*FOUND*/char s81,*p=s; gets(s); while(*p) *p=fun(p);/*FOUND*/ puts(*p); p+; putchar(n);-错误答案: 1 char fun(char *c) 2 return *c; 或 return (*c); 或 return(*c); 3 char s81,*p=s; 4 putchar(*p); 或 printf(%c,*p); -7【程序改错】-题目:下列给定程序中,函数fun的功能是:判断m是否为素数,若是返回1,否则返回0。主函数的功能是:按每行5个输出1-100之间的全部素数。 请改正程
10、序中的4个错误,使它能得出正确的结果。-main() int m,k=0; for(m=1;m100;m+) if(fun(m)=1) printf(%4d,m);k+; if(k%5=0)printf(n); /*FOUND*/void fun( int m) int i,k=1; if(m=1) k=0;/*FOUND*/ for(i=1;im;i+)/*FOUND*/ if(m%i=0) k=0;/*FOUND*/ return m;错误答案: 1 int fun( int m) 或 fun( int m) 2 for(i=2;ii;i+) 或 for(i=2;ii;i+) 3 if(m
11、%i=0) k=0; 4 return k;-8题目:函数fun的功能是:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0.0001。 1 1 1 = 1 - + - + . 4 3 5 7 请改正程序中的错误,使它能得出正确的结果。-/*FOUND*/#include stdio.hfun() int i=1;/*FOUND*/ int s=0,t=1,p=1;/*FOUND*/ while(fabs(t)1e-4) 或 while(0.0001fabs(t) 或 while(1e-40.0001) 4 printf(pi=%fn,s*4); 9题目:下列给定程序中,函数fun的
12、功能是:求1到10的阶乘的和。主函数和fun函数中,各有两个错误,请改正,使其能得到正确的运行结果。-main() int i; float t,s=0; float fac(int n);/*FOUND*/ for(i=1;i10;i+)/*FOUND*/ s=fac(i); printf(%fn,s); float fac(int n)/*FOUND*/ int y=1; int i; for(i=1 ;i=n;i+) y=y*i;/*FOUND*/ return;- 错误答案: 1 for(i=1;i=i;i+) 或 for(i=1;ii;i+) 2 s=s+fac(i); 或 s+=f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 改错
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。