资源描述:
《C语言考题改错及解答》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、程序改错题1.给定程序MODI1.C中函数的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……。例如:若给n输入7,该项的斐波拉契数值为13。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。longfun(intg){/**********found**********/switch(g);//去掉;{case0:return0;/**********found**********/case1;case2:return1
2、;}//case1:return(fun(g-1)+fun(g-2));}main(){longfib;intn;printf("Inputn:");scanf("%d",&n);printf("n=%d",n);fib=fun(n);printf("fib=%d",fib);}2.给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求复制三个字符之后插入一个空格。voidfun(char*p,char*b){inti,k=0;while(*p){i=1;while(i<=3&&*p){/*****
3、*****found**********/b[k]=p;//b[k]=*pk++;p++;i++;}if(*p){/**********found**********/b[k++]="";}//b[k++]=’’;}b[k]=' ';}main(){chara[80],b[80];printf("Enterastring:");gets(a);printf("Theoriginalstring:");puts(a);fun(a,b);printf("Thestringafterinsertspace:");puts(b);printf(
4、"");}3..给定程序MODI1.C中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回。intfun(intm){inti,k;for(i=m+1;;i++){for(k=2;k
5、}4..给定程序MODI1.C中函数fun的功能是:删除p所指字符串中的所空白字符(包括Tab字符、回车符及换行符)。输入字符串用’#’结束输入fun(char*p){inti,t;charc[80];/************found************/For(i=0,t=0;p[i];i++)//forif(!isspace(*(p+i)))c[t++]=p[i];/************found************/c[t]=" ";//c[t]=’ ’;strcpy(p,c);}main(){charc,s[80]
6、;inti=0;printf("Inputastring:");c=getchar();while(c!='#'){s[i]=c;i++;c=getchar();}s[i]=' ';fun(s);puts(s);}5..给定程序MODI1.C中函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回./**********found**********/charfun(char*s,char*t)/*改为char*fun(char*s,char*t)*/{intsl=0,tl=0;char*ss,*tt;ss=s;tt=t
7、;while(*ss){sl++;/**********found**********/(*ss)++;//ss++}while(*tt){tl++;/**********found**********/(*tt)++;}//tt++if(tl>sl)returnt;elsereturns;}main(){chara[80],b[80],*p,*q;inti;27printf("Enterastring:");gets(a);printf("Enterastringagain:");gets(b);printf("Thelongeri
8、s:"%s"",fun(a,b));}6..给定程序MOID1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1