c语言上机试题库及答案,计算机二级C语言上机题库-及答案~(100套~).doc

|

|

计算机二级 c 语言上机题库及答案

内部资料,切勿外传!

填空题

.第 1 套

请补充 FUN 函数,FUN 函数的功能是求 10 的阶乘。 注意:部分源程序给出如下。

请勿改动主函数 main 和其他函数中的任何内容,

仅在 fun 函数的横线上填入所编写的若干表达式或语句。 试题程序:

#include long fun(intn)

{

if (1)

return (n*fun(2)); return3;

}

main()

{

printf("10!=%ld\n", fun(10));

}

第 1 处填空:n>1 或 1

第 2 处填空:n-1

第 3 处填空:1 或 11 或 1L

改错题

下列给定程序的功能是:读入一个整数 K(2〈=K〈=10000),

打印它的所有因子(即所有为素数的因子)。例如,若输入整数 2310,则应输出:2、3、5、7、11。

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

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

试题程序:

#include

#include

/********found********/ IsPrime(intn);

{

inti, m; m = 1;

/********found********/ for (i=2; i

if !(n%i)

{

m = 0;

break;

}

return(m);

}

main()

{

intj, k;

printf("\nplease enter an integer number between 2 and 10000:");

scanf("%d", &k);

printf("\n\nThe prime factor(s) of %d is(are):", k); for (j=2; j

if ((!(k%j)) && (IsPrime(j))) printf(" %4d,", j);

printf("\n");

}

第 1 处:Isprime(int n);应改为 Isprime(int n) 第 2 处:if !(n%i)应该为 if(!(n%i))

编程题

M 个人的成绩存放在 score 数组中,请编写函数 fun,它的 功能是:返回低于平均分的认输,并将低于平均分的分数放在

below 所指的数组中。

例如,当 score 数组中的数据为 10、20、30、40、50、60、 70、80、90 时,函数返回的认输应该是 4,below 中的数据应

我 10、20、30、40。 注意:部分源程序给出如下。

请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。

试题程序:

#include

#include

#include

int fun(int score[],int m, int below[])

{

}

main()

{

int i,n,below[9];

int score[9]={10,20,30,40,50,60,70,80,90};

FILE *out; n=fun(score,9,below);

printf("\nBelow the average score are :");

out=fopen("out.dat", "w"); for(i=0;i

{

printf("%d ",below[i]);

fprintf(out, "%d\n", below[i]);

}

fclose(out);

}

答案是:

int fun(int score[], intm, intbelow[])

{

int I, k=0,aver=0; for(i=0;i

aver/=m;

for(i=0;i

{

below[k]=score[i]; k++;

}

return k;

}

填空题

第 2 套

请在函数 FUN 的横线上填写若干表达式,使从键盘上输入

一个整数 N,输出斐波纳契数列。斐波纳契数列是一种整数数列, 其中每数等于前面两数之和,如:0 1 1 2 3 5 8 13…..

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

试题程序:

#include int fun(intn);

main()

{

inti, n = 0; scanf("%d",

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值