2011年浙江计算机二级c语言答案,2011年计算机二级C语言上机操作题及答案(2)...

第2套

填空题

请在函数FUN的横线上填写若干表达式,使从键盘上输入一个整数N,输出斐波纳契数列。斐波纳契数列是一种整数数列,其中每数等于前面两数之和,如:0 1 1 2 3 5 8 13…..

请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。

试题程序:

#include

int fun(int  n);

main()

{

int  i, n = 0;

scanf("%d", &n);

for (i=0; 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值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。

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

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

试题程序:  #include #include void fun(char  *p, char  *q, char  *c)

{

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

int  k = 1;

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

while (*p != *q)

{

if (*p 

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:");

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 #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;kif((k+1)==0)

{

printf("]\n",aa[k]);

fprintf(out, "%d\n", aa[k]);

}

else

{

printf("],",aa[k]);

fprintf(out, "%d,", aa[k]);

}

fclose(out);

}

答案是:

void fun(int *a,int *n)

{

int i,j=0;

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

if( (i%7==0||i==0)&&iw!=0)

a[j++]=i;

*n=j;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值