南开一百上机改错100题.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南开一百上机改错100题

1.下列给定程序的功能是:读入一个整数k(2=k=10000),打印它的所有质因子(即所有为素数的因子)。 例如,若输入整数2310,则应输出:2、3、5、7、11。 请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增得或删行,也不得更改程序的结构! #include conio.h #include stdio.h IsPrime(int n); { int i, m; m=1; for (i=2;in;i++) if !(n%i) {m=0; break;} return (m); } 第一处:IsPrime(int n); 改为:IsPrime(int n) 第二处:!(n%i)改为(!(n%i)) 2.下列给定程序中,函数fun的功能是:逐个比较a、b两个字符串对应位置在的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为:aBCDeFgH,b中的字符串为:Abcd,则c中的字符串应为:aBcdeFgH。 请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 # include stdio.h # include string.h Void fun(char *p,char *q, char *c) {int k=1; while(*p!=*q) {if( *p*q ) c[k]=*q; else c[k]=*p; if(*p) p++; if(*q) q++; k++; } } 第一处:k=1;改为k=0; 第二处:(*p!=*q)改为(*p||*q) 3.下列给定程序中,函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。 改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include stdio.h #indlude conio.h void fun(char *s) {int i,j; for(i=0,j=0; s[i]!=’\0’; i++) if(s[i]=’0’ s[i]!=’9’) s[j]=s[i]; s[j]=”\0”; } 第一处:s[j]=s[i];改为s[j++]=s[i]; 第二处:s[j]=”\0”;改为s[j]=’\0’; 4.下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的人数。例如,给字符串s输入:AaaaBBb123CCccccd,则应输出结果:upper=6,lower=8. 请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include conio.h #include stdio.h Void fun ( char *s,int a,int b) { while (*s ) {if (*s=’A’*s=’Z’) a++ ; if (*s=’a’ *s=’z’) b++; s++; } } 第一处:Void fun( char *s, int a,int b)改为Void fun( char *s,int * a,int * b) 第二处:a++;改为(*a)++ ; 第三处:b++;改为(*b)++; 5.假定整数数列中的数不重复,并存放在数组中。下列给定程序中,函数fun的功能是:删除数列中值为x的元素。N中存放的是数列中元素的个数。 请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include stdio.h #define N 20 fun(int *a, int n, int x) {int p=0, i; a[n]=x; while(x!=a[p] ) p=p+1; if(p==n) return –1; else { for(i=p;in;i++) a[i+1]=a[i]; return n-1; } } 第一处:a[i+1]=a[i];改为a[i]=a[i+1]; 6.下列给定程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值。 T=1-1/(2*2)-1/(3*3)-……-1/(m*m) 例如,若m中的值为5,则应输出:0.536389。 请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include conio.h #include stdio.h double fun ( int m) {double y=1.0; int i; for(i=2; im;

文档评论(0)

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

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

1亿VIP精品文档

相关文档