/**********FOUND**********/
printf("%d",a[i][j]);
printf("\n");
}
}
题目11:
下列给定程序中,函数fun的功能是:
求1到10的阶乘的和。
主函数和fun函数中,各有两个错误,请改正,使其能得到正确的运行结果。
main()
{
inti;
floatt,s=0;
floatfac(intn);
/**********FOUND**********/
for(i=1;i<10;i++)
/**********FOUND**********/
s=fac(i);
printf("%f\n",s);
}
floatfac(intn)
{
/**********FOUND**********/
inty=1;
inti;
for(i=1;i<=n;i++)
y=y*i;
/**********FOUND**********/
return;
}
题目12:
将一个字符串中第m个字符开始的全部字符复制成为另一个字符串。
程序中共有4条错误语句,请改正错误。
#include
voidstrcopy(char*str1,char*str2,intm)
/**********FOUND**********/
charp1,p2;
inti,j;
/**********FOUND**********/
=str1+m;
p2=str2;
/**********FOUND**********/
if(*p1);
*p2++=*p1++;
*p2='\0';
}
main()
{
inti,m;
char*p1,*p2,str1[80],str2[80];
p1=str1;
p2=str2;
gets(p1);
scanf("%d",&m);
/**********FOUND**********/
strcat(str1[0],str2[0],m);
puts(p1);puts(p2);
}
题目13:
fun函数的功能是:
给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。
例如,n=6时,输入23.5,45.67,12.1,6.4,58.9,98.4所得平均值为40.828335,在平均值以下的实数个数应为3。
请改正程序中的错误,使它能得出正确的结果。
intfun(floatx[],intn)
{
intj,c=0;
/**********FOUND**********/
floatj=0;
/**********FOUND**********/
for(j=0;j<=n;j++)
xa+=x[j];
xa=xa/n;
printf("ave=%f\n",xa);
/**********FOUND**********/
for(j=0;j<=n;j++)
if(x[j]<=xa)c++;
/**********FOUND**********/
returnxa;
}
main()
{
floatx[]={23.5,45.67,12.1,6.4,58.9,98.4};
printf("%d\n",fun(x,6));
}
答案:
1).floatxa=0;或floatxa=0.0;
2).for(j=0;jj;j++)或for(j=0;n-1>=j;j++)或for(j=0;j<=n-1;j++)
3).for(j=0;jj;j++)或for(j=0;j<=n-1;j++)或for(j=0;n-1>=j;j++)
4).returnc;或return(c);
题目14:
fun函数的功能是:
找出大于m的最小素数,并将其作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
intfun(intm)
{
inti,k;
for(i=m+1;;i++)
{
/**********FOUND**********/
for(k=1;k
/**********FOUND**********/
if(i%k!
=0)break;
/**********FOUND**********/
if(k
/**********FOUND**********/
returnk;
}
}
main()
{
intn;
scanf("%d",&n);
printf("%d\n",fun(n));
}
答案:
1).for(k=2;kk;k++)
2).if(★i%k★==★0★)break;
3).if(i<=k)或if(k>=i)或if(★k★==★i★)
4).returni;或return(i);
题目15:
在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。
下列给定程序中,函数fun的功能是:
计算数组元素中值为正数的平均值(不包括0)。
例如,数组中元素的值依次为39,-47,21,2,-8,15,0,则程序的运行结果为19.250000。
请改正程序中的错误,使它能得出正确的结果。
doublefun(ints[])
{
/**********FOUND**********/
intsum=0.0;
intc=0,i=0;
/**********FOUND**********/
while(s[i]=0)
{
if(s[i]>0)
{sum+=s[i];c++;}
i++;
}
/**********FOUND**********/
sum\=c;
/**********FOUND**********/
returnc;
}
main()
{
intx[1000];inti=0;
do
{scanf("%d",&x[i]);}
while(x[i++]!
=0);
printf("%f\n",fun(x));
}
题目16:
fun函数的功能是:
实现两个字符串的连接。
例如:
输入dfdfqe和12345时,则输出dfdfqe12345.
请改正程序中的错误,使它能得出正确的结果。
main()
{
chars1[80],s2[80];
voidscat(chars1[],chars2[]);
gets(s1);
gets(s2);
scat(s1,s2);
puts(s1);
}
voidscat(chars1[],chars2[])
{
inti=0,j=0;
/**********FOUND**********/
while(s1[i]=='\0')i++;
/**********FOUND**********/
while(s2[j]=='\0')
{
/**********FOUND**********/
s2[j]=s1[i];
i++;
j++;
}
/**********FOUND**********/
s2[j]='\0';
}
题目17:
函数fun的功能是:
根据整型形参m的值,计算如下公式的值。
111
t=1-——-——-...-——
2x23x3mxm
例如,若m=5,则应输出:
0.536389
请改正程序中的错误,使它能得出正确的结果。
doublefun(intm)
{
doubley=1.0;
inti;
/**********FOUND**********/
for(i=2;i/**********FOUND**********/
y-=1/(i*i);
/**********FOUND**********/
returnm;
}
main()
{
intn=5;
printf("\ntheresultis%lf\n",fun(n));
}
题目18:
编写函数fun求20以内所有5的倍数之积。
#defineN20
#include"stdio.h"
main()
{intsum;
sum=fun(5);
printf("%d以内所有%d的倍数之积为:
%d\n",N,5,sum);
getch();
}
intfun(intm)
{
/**********FOUND**********/
ints=0,i;
for(i=1;i/**********FOUND**********/
if(i%m=0)
/**********FOUND**********/
s=*i;
returns;
}
题目19:
编写函数fun其功能是:
输入两个实数,按代数值由小到大输出它们,并在fun()
函数中输出。
(输出的数据都保留2位小数)
#include"stdio.h"
main()
{fun();
getch();}
fun(floata,floatb)
{
/**********FOUND**********/
floatt
scanf("%f%f",&a,&b);
/**********FOUND**********/
if(a
{t=a;a=b;b=t;}
/**********FOUND**********/
printf("%5.2f,%5.2f\n",&a,&b);
}
题目20:
编写函数fun计算下列分段函数的值:
x*20x<0且x≠-3
f(x)=sin(x)0≤x<10且x≠2及x≠3
x*x+x-1其它
#include"math.h"
#include"stdio.h"
floatfun(floatx)
{
/**********FOUND**********/
floaty
/**********FOUND**********/
if(x<0||x!
=-3.0)
y=x*20;
elseif(x>=0&&x<10.0&&x!
=2.0&&x!
=3.0)
y=sin(x);
elsey=x*x+x-1;
/**********FOUND**********/
returnx;
}
main()
{floatx,f;
printf("Inputx=");
scanf("%f",&x);
f=fun(x);
printf("x=%f,f(x)=%f\n",x,f);
getch();
}
题目21:
编写函数fun求20以内所有5的倍数之积。
#defineN20
#include"stdio.h"
main()
{intsum;
sum=fun(5);
printf("%d以内所有%d的倍数之积为:
%d\n",N,5,sum);
getch();
}
intfun(intm)
{
/**********FOUND