- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机二级综合改错
1.改错题
给定程序中,函数fun的功能是:根据整型形参m,计算如下公式的值:
y=1+1/(2*2)+1/(3*3)+1/(4*4)+…+1/(m*m)
例如:若m中的值为5,则应输出1.463611。
请改正程序中的错误,使其能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include stdio.h
double fun(int m)
{
double y=1.0;
int i;
/**********found**********/
for(i=2;i=m;i++)
/**********found**********/
y+=1.0/(i*i);
return(y);
}
main()
{
int n=5;
printf(\nThe result is %lf\n, fun(n));
}
2.改错题
给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。
例如,当字符串中的内容为“abcdabfabcdx”、t中的内容为“ab”时,输出结果应是abcdx。当字符串中的内容为“abcdabfabcdx”、t中的内容为“abd”时,则程序输出未找到信息not be found!。
请改正程序中的错误,使其能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include stdio.h
#include string.h
char *fun(char *s,char *t)
{
char *p,*r,*a;
/**********found**********/
a=NULL;
while(*s)
{
p=s;r=t;
while(*r)
/**********found**********/
if(*r==*p)
{r++;p++;}
else break;
if(*r==\0) a=s;
s++;
}
return a ;
}
main()
{
char s[100],t[100],*p;
printf(\nPlease enter string S :);
scanf(%s,s);
printf(\nPlease enter substring t :);
scanf(%s,t);
p=fun(s,t);
if(p) printf(\nThe result is :%s\n,p);
else printf(\nNot found !\n);
}
3.改错题
给定程序中,函数fun的功能是:计算正整数num的各位上的数字之积。
例如,若输入252,则输出应该是20;若输入202,则输出应该是0。
请改正程序中的错误,使其能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include stdio.h
long fun(long num)
{
/**********found**********/
long k;k=1;
do
{
k*=num%10 ;
/**********found**********/
num/=10;
}while(num);
return (k);
}
main()
{
long n;
printf(\Please enter a number:);
scanf(%ld,n);
printf(\n%ld\n,fun(n));
}
4.改错题
给定程序中,函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。
请改正程序中的错误,使其能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include stdio.h
voidfun(char *s)
{
int i,j;
for(i=0,j=0;s[i]!=\0;i++)
if(s[i]=0s[i]=9)
/**********found**********/
s[j++]=s[i];
/**********found**********/
s[j]=\0;
}
main()
{
char item[80];
printf(\nEnter a string:);
gets(item);
printf(The string is:%s\n,item);
fun(item);
原创力文档


文档评论(0)