1、国家二级 C语言机试(操作题)模拟试卷 131及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:计算形参 x所指数组中 N个数的平均值 (规定所有数均为正数 ),作为函数值返回;并将大于平均值的数放在形参 y所指数组中,在主函数中输出。 例如,有 10个正数: 46 30 32 40 6 17 45 15 48 26,平均值为: 30 500000 主函数中输出: 46 32 40 45 48 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。不得增行或删行,也不得更改程序的结构 ! #include
2、 #include #define N 10 double fun(double x, double *y) int i, j; double av; *found* av=_1_; *found* for(2=0; iav) y_3_= xi; yj=-1; return av; main() int i; double xN, yN; for(i=0; i=0; i+)printf (“ 5 1f“, yi); printf(“ n“); 二、程序修改题 2 给定程序 MODI1 C中函数 fun的功能是:根据整型形参 m,计算如下公式的值。 例如,若 m=2000,则应输出:0 0001
3、60。 请改正程序中的语法错误,使它能计算出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 !#include *found* fun(int m) double y=0, d; int i;*found* for(i=100, i 三、程序设计题 3 已知学生的记录由学号和学习成绩构成, N名学生的数据已存入 a结构体数组中。请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数 (规定只有一个最低分 )。 注意:部分源程序存在文件 PROG1 C文件中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你
4、编写的若干语句。 #include #include #define N 10 typedef struct ss char rlum10; int s; ) STU; void fun(STU a, STU *s) main() STU aN=“A01“, 81, “A02“, 89, “A03“, 66, “A04“, 87, “A05“, 77, “A06“, 90, “A07“, 79, “A08“, 61, “A09“, 80, “A10“, 71, m; int i; void NONO(); printf(“* The original data* n“); for(i=0; iav)y_3_=xi; ”是将 xi保存在 y所指的数组中, i是循环变量, j初始化为 0,故 y的计数变量为 j,故第三空处应为 “j+”。 二、程序修改题 2 【正确答案】 (1)double fun(int m) (2)for(i=100; iai s) *如果最低分 min仍大于当前分 * j=i; *记住位置 * min=ai s; *把当前分赋值给 min* *q=a j; 【试题解析】 (1)首先指定第一个成绩为最低分数。 (2)再使用一个 for循环把所有的成绩进行比较,找出最低的分数来。