1、全国计算机二级 C 语言上机试题 67+2015 年及答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun 的功能是:调用随机函数产生 20 个互不相同的整数放在形参 a 所指数组中(此数组在主函数中已置 0)。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #define N 20 void fun( int *a) int i, x, n=0; x=rand() ; /*found*/ while (n_2.给
2、定程序 MODI1.C 中函数 fun 的功能是: 先从键盘上输入一个 3 行 3 列矩阵的各个元素的值, 然后输出主对角线元素之和。 请改正函数 fun 中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include int fun() int a33,sum; int i,j; /*found*/ _; for (i=0;i_3.编写程序, 实现矩阵(3 行 3 列)的转置(即行列互换) 例如, 输入下面的矩阵: 100 200 300 400 500 600 700 800 90
3、0 程序输出: 100 400 700 200 500 800 300 600 900 注意: 部分源程序在文件 PROG1.C中。 请勿改动主函数 main 和其它函数中的任何内容, 仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include int fun(int array33) main() int i,j; int array33=100,200,300, 400,500,600, 700,800,900; for (i=0;i_全国计算机二级 C 语言上机试题 67+2015 年答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun
4、的功能是:调用随机函数产生 20 个互不相同的整数放在形参 a 所指数组中(此数组在主函数中已置 0)。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #define N 20 void fun( int *a) int i, x, n=0; x=rand() ; /*found*/ while (n_正确答案:(第一处:一共产生 20 个随机数,所以应填:N。 第二处:要求产生不同的 20 个整数,所以采用 for 循环对已产生的随机数进
5、行比较,是否有相同数,如果有相同,则退出循环体,所以应填:break。 第三处:当退出循环体还是进行判断,i 和 n 的值是否相等,如果相等,则表示该随机整数不重复,可以存放到指定的数组中,所以应填:n。)解析:2.给定程序 MODI1.C 中函数 fun 的功能是: 先从键盘上输入一个 3 行 3 列矩阵的各个元素的值, 然后输出主对角线元素之和。 请改正函数 fun 中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include int fun() int a33,sum; int
6、 i,j; /*found*/ _; for (i=0;i_正确答案:(第一处:变量 sum 进行初始化,由于计算累加和,所以应为:sum=0;。 第二处:读入整型数,应使用地址读入,所以应为:scanf(“%d“,。)解析:3.编写程序, 实现矩阵(3 行 3 列)的转置(即行列互换) 例如, 输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 注意: 部分源程序在文件 PROG1.C中。 请勿改动主函数 main 和其它函数中的任何内容, 仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include int fun(int array33) main() int i,j; int array33=100,200,300, 400,500,600, 700,800,900; for (i=0;i_正确答案:(int fun(int array33) int i,j,arr33 ; memcpy(arr, array, 9*sizeof(int) ; for(i = 0 ; i 3 ; i+) for(j = 0 ; j 3 ; j+) arrayij = arrji ; )解析: