2、 i++)
printf(“%d “, fun(i));
}
int fun(int n)
{
if (___1___)
return 0;
else if (___2___)
return 1;
else
return ___3___;
}
第1处填空:n==0或0==n或!n
第2处填空:n==1或1==n
第3处填空:fun(n-1)+fun(n-2)或fun(n-2)+fun(n-1)
改错题
下列给定程序中,函数FUN的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或
3、相等的字符依次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序: #include
#include
void fun(char *p, char *q, char *c)
{
/********found********/
int k = 1;
/********found******
4、/
while (*p != *q)
{
if (*p < *q)
c[k] = *q;
else
c[k] = *p;
if (*p)
p++;
if (*q)
q++;
k++;
}
}
main()
{
char a[10] = “aBCDeFgH”, b[10] = “ABcd”, c[80] = {’\0’};
fun(a, b, c);
printf(“The string a:“);
puts(a);
printf(”The string b:“);
5、puts(b);
printf(”The result:“);
put s(c);
}
第1处:int k=1应改为int k=0;
第2处:while(*p!=*q)应改为while(*p||*q)
编程题
请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7或11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:#include
6、 #include
void fun(int *a,int *n)
{
}
main()
{
int aa[1000],n,k;
FILE *out;
fun(aa,&n);
out=fopen(”out.dat“, “w”);
for(k=0;k