1、国家二级( C语言)机试模拟试卷 378及答案与解析 一、程序填空题( 30分) 1 给定程序的功能是:调用函数 fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为 1,失败时返回值为 0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量 sfname中,目标文件名放在变量 tfname中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKl C中。不得增行或删行,也不得更改程序的结构 ! 二、程序修改题( 30分 ) 2 给定程序 MODll C中函数 fun的功能是:将十进制正整数 m
2、转换成 k(2k9)进制数,并按高位到低位顺序输出。 例如,若输入 8和 2,则应输出 1000(即十进制数 8转换成二进制表示是 1000)。 请改正 fun函数中的错误,使它能得出正确的结果。 注意:不要改动 main函数。不得增行或删行,也不得更改程序的结构 ! #include #include void fun(int m, int k) int aa20, i; for(i=0; m; i+) /*found*/ a6tai=m k; m =k, for(; i; i ) /*found*/ printf(“ d“, aai); main() int b; n; printf (“ nPlease enter a numberand a base: n“); scanf(“ d dtt, double ave=0.0; *n=0; for(i=0; iN; i+)ave=ave+ai.s; ave /=N; /* 计算平均值 */ for(i=0; iN; i+) if(ai.save) /* 把低于平均值的记录存放到 b所指的数组中 */ b*n=ai; (*n)+; /* 人数加 1 */ 【试题解析】 ( 1)首先,通过循环求总分,然后求得平均分。 ( 2)在循环中,进行平均分与每个成绩进行比较,并将满足条件的数据存入数组及对其进行累加。