2020年全国计算机等级考试二级c语言上机精选题库(共80套)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020年全国计算机等级考试二级c语言上机精选题库(共80套)

第1套试题

第一题:给定程序中,函数fun的功能是:计算N*N矩阵的主对角元素和反向对角元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。

例如,若N=3,有下列矩阵:

1 2 3

4 5 6

7 8 9

fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。

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

#include

#define N 4

fun(int t[][N], int n)

{

int i, sum;

___1___;

for (i=0; i

sum += ___2___;

for (i=0; i

sum += t[i][n-i-___3___];

return sum;

}

main()

{

int i, j, t[][N] =

{21, 2, 13, 24, 25, 16, 47, 38, 29, 11, 32, 54, 42, 21, 3, 10};

printf("\nThe original data:\n");

for (i=0; i

{

for (j=0; j

printf("%4d", t[i][j]);

printf("\n");

}

printf("The result is: %d", fun(t, N));

}

第二题:下列给定程序中,函数fun 的功能是:根据整型参n ,计算如下公式的值。

,11=A ,1112A +=A ,1123A +=A … ,1

11-A +=A n n 例如,若n=10,则应输出0.617978。

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

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

#include

#include

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

fun(int n)

{

double A = 1;

int i;

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

for(i=2;i

A = 1.0/(1+A);

return A;

}

main()

{

int n;

printf("\nPlease enter n: ");

scanf("%d", &n);

printf("A%d=%lf\n", n, fun(n));

}

第三题:请编写函数fun ,其功能是:将两个两位数的正整数a 、b 合并形成一个整数在c 中。合并的方式是:将a 数的十位和个位依次放在c 数的百位和个位上,b 数的十位和个位数依次放c 数的千位和十位上。

例如,当a=45,b=12,调用该函数后,c=1425。

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

#include

#include

void fun (int a, int b, long *c)

{

}

main ()

{

int a, b;

long c;

FILE *out;

printf ("Input a, b:");

scanf ("%d%d", &a, &b);

fun ( a, b, &c );

printf ("The result is: %ld\n", c);

out=fopen ("out.dat", "w");

for (a = 0; a < 10; a++)

{

fun(a+28, a+82, &c);

fprintf(out, "%ld\n", c);

}

fclose (out );

}

第一题

答案:第1处填空:sum=0;

第2处填空:t[i][i]

第3处填空:1

第二题

答案:第1处:fun(int n) 应改为double fun(int n)

第2处:for(i=2;i

第三题

答案:void fun( int a, int b, long *c)

{

*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;

}

第2套试题

第一题:请补充fun函数,函数的功能是:打印出1~1000中满足个位数字的立方等于其本身的所有数。本题的结果为:1 64 125 216 729.

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

#include

main()

{

int i, g;

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

{

g = ___1___;

if (___2___)

printf("%4d", i);

}

}

第二题:下列给定程序中,函数fun的功能是:计算整数n的阶乘。请改正程序中的错误或在横线上填上适当的内容并把横线删除,使它能计算出正确的结果。

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

#include

double fun(int n)

{

double result = 1.0;

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

while (n>1 && n<170)

result *= --n;

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

___填空___

}

main()

{

int n;

printf("Enter an integer: ");

scanf("%d", &n);

printf("\n\n%d!=%1g\n\n", n, fun(n));

}

第三题:请编写一个函数fun,它的功能是:计算n门课程的平均数,计算结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为71.80.

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

#include

float fun ( float *a, int n )

{

相关文档
最新文档