改 错 题.docx

上传人:b****6 文档编号:7581072 上传时间:2023-01-25 格式:DOCX 页数:77 大小:98.21KB
下载 相关 举报
改 错 题.docx_第1页
第1页 / 共77页
改 错 题.docx_第2页
第2页 / 共77页
改 错 题.docx_第3页
第3页 / 共77页
改 错 题.docx_第4页
第4页 / 共77页
改 错 题.docx_第5页
第5页 / 共77页
点击查看更多>>
下载资源
资源描述

改 错 题.docx

《改 错 题.docx》由会员分享,可在线阅读,更多相关《改 错 题.docx(77页珍藏版)》请在冰豆网上搜索。

改 错 题.docx

改错题

改错题

1、给定程序中fun函数的功能是:

根据整型形参m的值,计算如下公式的值:

例如,若m中的值为5,则应输出0.536389。

请改正程序中的错误,使它能得出正确的结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include

doublefun(intm)

{doubley=1.0;

inti;

/**************found**************/

for(i=2;i

for(i=2;i<=m;i++)

/**************found**************/

y-=1/(i*i);改为:

y-=1.0/(i*i);

return(y);

}

main()

{intn=5;

printf("\nTheresultis%lf\n",fun(n));

}

2、给定程序中fun函数的功能是:

将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。

例如,当s所指字符串为“ABCD”时,则t所指字符串的内容应为“ABCDDCBA”

#include

#include

/************found************/

voidfun(chars,chart)改为:

voidfun(char*s,char*t)

{inti,d;

d=strlen(s);

for(i=0;i

for(i=0;i

/************found************/

t[2*d-1]='\0';改为:

t[2*d]='\0';

}

main()

{chars[100],t[100];

printf("\nPleaseenterstringS:

");scanf("%s",s);

fun(s,t);

printf("\nTheresultis:

%s\n",t);}

3、给定程序中fun函数的功能是:

将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。

例如:

字符串中的数据为:

AABBCCDDEEFF,则应输出ABBCDDEFF。

#include

#include

#defineN80

voidfun(char*s,chart[])

{inti,j=0;

for(i=0;i

/***********found**********/

if(i%2&&s[i]%2==0)改为:

if(i%2==0||s[i]%2==0)

t[j++]=s[i];

/***********found**********/

t[i]='\0';改为:

t[j]='\0';

}

main()

{chars[N],t[N];

printf("\nPleaseenterstrings:

");gets(s);

fun(s,t);

printf("\nTheresultis:

%s\n",t);

}

4、给定程序中fun函数的功能是:

计算n!

例如,给n输入5,则输出120.000000。

#include

doublefun(intn)

{doubleresult=1.0;

/************found************/

ifn==0改为:

if(n==0)

return1.0;

while(n>1&&n<170)

/************found************/

result*=n--改为:

result*=n--;

returnresult;

}

main()

{intn;

printf("InputN:

");

scanf("%d",&n);

printf("\n\n%d!

=%lf\n\n",n,fun(n));

}

5、给定程序中fun函数的功能是:

先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之和。

#include

intfun()

{inta[3][3],sum;

inti,j;

/*********found**********/

______;改为:

sum=0

for(i=0;i<3;i++)

{for(j=0;j<3;j++)

/*********found**********/

scanf("%d",a[i][j]);改为:

scanf("%d",&a[i][j]);

}

for(i=0;i<3;i++)

sum=sum+a[i][i];

printf("Sum=%d\n",sum);

}

main()

{fun();}

6、给定程序中fun函数的功能是:

,(此处aa…aa表示n个a,a和n的值在1至9之间)。

例如,a=3,n=6,则以上表达式为:

s=333333-33333-3333-333-33-3,其值是:

296298。

a和n是fun函数的形参。

#include

longfun(inta,intn)

{intj;

/**************found**************/

longs=0,t=1;改为:

longs=0,t=0;

/**************found**************/

for(j=0;j<=n;j++)改为:

for(j=0;j

t=t*10+a;

s=t;

for(j=1;j

/**************found**************/

t=t%10;改为:

t=t/10;

s=s-t;}

return(s);

}

main()

{inta,n;

printf("\nPleaseenteraandn:

");

scanf("%d%d",&a,&n);

printf("Thevalueoffunctionis:

%ld\n",fun(a,n));

}

7、给定程序中fun函数的功能是:

求k!

(k<13),所求阶乘的值作为函数值返回。

例如:

若k=10,则应输出3628800。

#include

longfun(intk)

{

/************found************/

ifk>0改为:

if(k>0)

return(k*fun(k-1));

/************found************/

elseif(k=0)改为:

elseif(k==0)

return1L;

}

main()

{intk=10;

printf("%d!

=%ld\n",k,fun(k));}

8、给定程序中fun函数的功能是:

由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。

例如,n=8时,输入:

193.99,195.673,195.757,196.051,196.092,196.596,196.579,196.763,所得平均值为:

195.838745,在平均值以上的实数个数应为:

5。

#include

intfun(floatx[],intn)

{

/************found************/

intj,c=0,floatxa=0.0;改为:

intj,c=0;floatxa=0.0;

for(j=0;j

xa+=x[j]/n;

printf("ave=%f\n",xa);

for(j=0;j

/************found************/

if(x[j]=>xa)改为:

if(x[j]>=xa)

c++;

returnc;

}

main()

{floatx[100]={193.199,195.673,195.757,196.051,

196.092,196.596,196.579,196.763};

printf("%d\n",fun(x,8));}

9、给定程序中fun函数的功能是:

将tt所指字符串中的小写字母都改为对应的大写字母,其它字符不变。

例如:

若输入“Ab,cD”,则输出“AB,CD”

#include

#include

char*fun(chartt[])

{inti;

for(i=0;tt[i];i++)

/**********found***********/

if(('a'<=tt[i])||(tt[i]<='z'))改为:

if((tt[i]>='a')&&(tt[i]<='z'))

/**********found***********/

tt[i]+=32;改为:

tt[i]-=32;

return(tt);

}

main()

{chartt[81];

printf("\nPleaseenterastring:

");

gets(tt);

printf("\nTheresultstringis:

\n%s",fun(tt));}

10、给定程序中fun函数的功能是:

在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。

例如,调用fun函数这前给字符串输入:

ABCDeFGH,调用后字符串中的内容为:

eABCDFGH。

#include

/**********found**********/

fun(char*p)改为:

voidfun(char*p)

{charmax,*q;inti=0;

max=p[i];

while(p[i]!

=0)

{if(max

{max=p[i];

/**********found**********/

q=p+I改为:

q=p+i;

}

i++;}

/**********found**********/

wihle(q>p)改为:

while(q>p)

{*q=*(q-1);

q--;}

p[0]=max;

}

main()

{charstr[80];

printf("Enterastring:

");gets(str);

printf("\nTheoriginalstring:

");puts(str);

fun(str);

printf("\nThestringaftermoving:

");puts(str);printf("\n\n");}

 

11、给定程序MODI1.CJ是建立一个带头结点的单向链表,并用随机函数为各结点赋值。

给定程序中fun函数的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并作为函数值返回。

#include

#include

typedefstructaa

{intdata;structaa*next;}NODE;

intfun(NODE*h)

{intsum=0;

NODE*p;

/***********found**********/

p=h;改为:

p=h->next;

/***********found**********/

while(p->next)改为:

while(p)

{if(p->data%2==0)sum+=p->data;

/***********found**********/

p=h->next;改为:

p=p->next;

}

returnsum;

}

NODE*creatlink(intn)

{NODE*h,*p,*s,*q;

inti,x;

h=p=(NODE*)malloc(sizeof(NODE));

for(i=1;i<=n;i++)

{s=(NODE*)malloc(sizeof(NODE));

s->data=rand()%16;s->next=p->next;

p->next=s;p=p->next;}

p->next=NULL;

returnh;

}

outlink(NODE*h,FILE*pf)

{NODE*p;

p=h->next;

fprintf(pf,"\n\nTHELIST:

\n\nHEAD");

while(p)

{fprintf(pf,"->%d",p->data);p=p->next;}

fprintf(pf,"\n");

}

outresult(ints,FILE*pf)

{fprintf(pf,"\nThesumofevennumbers:

%d\n",s);}

main()

{NODE*head;inteven;

head=creatlink(12);

head->data=9000;

outlink(head,stdout);

even=fun(head);

printf("\nTheresult:

\n");outresult(even,stdout);

}

12、给定程序中fun函数的功能是:

求三个数的最小公倍数。

例如,给主函数中的变量x1,x2,x3分别输入15112,则输出结果应当是:

330。

#include

/************found************/

fun(intx,y,z)改为:

fun(intx,inty,intz)

{intj,t,n,m;

/************found************/

j=1;改为:

j=x;

t=j%x;m=j%y;n=j%z;

/************found************/

while(t!

=0&&m!

=0&&n!

=0)改为:

while(t!

=0||m!

=0||n!

=0)

{j=j+1;t=j%x;m=j%y;n=j%z;}

/************found************/

returni;改为:

returnj;

}

main()

{intx1,x2,x3,j;

printf("Inputx1x2x3:

");scanf("%d%d%d",&x1,&x2,&x3);

printf("x1=%d,x2=%d,x3=%d\n",x1,x2,x3);

j=fun(x1,x2,x3);

printf("Theminimalcommonmultipleis:

%d\n",j);}

13、给定程序中fun函数的功能是:

先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。

例如:

当s听字符串为“ABCDE”时,则t中的字符串应为“ABCDEEDCBA”。

#include

#include

voidfun(char*s,char*t)

{inti,sl;

sl=strlen(s);

/************found************/

for(i=0;i<=s1;i++)改为:

for(i=0;i

t[i]=s[i];

for(i=0;i

t[sl+i]=s[sl-i-1];

/************found************/

t[sl]='\0';改为:

t[2*sl]='\0';

}

main()

{chars[100],t[100];

printf("\nPleaseenterstrings:

");scanf("%s",s);

fun(s,t);

printf("Theresultis:

%s\n",t);

}

14、给定程序中fun函数的功能是:

从s所指字符串中删除所有小写字母c。

#include

voidfun(char*s)

{inti,j;

for(i=j=0;s[i]!

='\0';i++)

if(s[i]!

='c')

/************found************/

s[j]=s[i];改为:

s[j++]=s[i];

/************found************/

s[i]='\0';改为:

s[j]='\0';

}

main()

{chars[80];

printf("Enterastring:

");gets(s);

printf("Theoriginalstring:

");puts(s);

fun(s);

printf("Thestringafterdeleted:

");puts(s);printf("\n\n");

}

15、给定程序中fun函数的功能是:

从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。

规定,函数中a1放个位数,a2放十位数。

#include

/************found************/

fun(int*b)改为:

intfun(int*b)

{intk,a1,a2,i=0;

/************found************/

for(k=10;k<=55;k++){改为:

for(k=10;k<55;k++){

/************found************/

a2=k/1O;改为:

a2=k/10;

a1=k-a2*10;

if((k%3==0&&a2==5)||(k%3==0&&a1==5))

{b[i]=k;i++;}

}

/************found************/

returnk;改为:

returni;

}

main()

{inta[100],k,m;

m=fun(a);

printf("Theresultis:

\n");

for(k=0;k

}

16、给定程序中fun函数的功能是:

求S的值。

例如,当k为10时,函数值应为:

1.533852。

#include

#include

/************found************/

voidfun(intk)改为:

floatfun(intk)

{intn;floats,w,p,q;

n=1;

s=1.0;

while(n<=k)

{w=2.0*n;

p=w-1.0;

q=w+1.0;

s=s*w*w/p/q;

n++;

}

/************found************/

returns改为:

returns;

}

main()

{printf("%f\n",fun(10));}

17、给定程序中fun函数的功能是:

将十进制正整数m转换成k(2<=k<=9)进制数,并按高位到低位顺序输出。

例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。

#include

#include

/**********found**********/

fun(intm,intk)改为:

voidfun(intm,intk)

{intaa[20],i;

for(i=0;m;i++)

{

/**********found**********/

aa[i]=m/k;改为:

aa[i]=m%k;

m/=k;

}

for(;i;i--)

/**********found**********/

printf("%d",aa[i]);改为:

printf("%d",aa[i-1]);

}

main()

{intb,n;

printf("\nPleaseenteranumberandabase:

\n");scanf("%d%d",&n,&b);

fun(n,b);printf("\n");}

18、给定程序中fun函数的功能是:

根据整型形参n,计算如下公式的值。

例如:

若n=10,则应输出0.617977.

#include

/************found**********

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1