1、国家二级( C语言)机试模拟试卷 348及答案与解析 一、程序填空题( 30分) 1 给定程序中,函数 fun的功能是:求出形参 ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符 *补齐,使其与最长的字符串等长。 ss所指字符串数组中共有 M个字符串,且串长 #include #define M 5 #define N 20 void fun(char (*ss)N) int i, j, n, len=0; for(i=0; i #define M 3 #define N 4 void fun (int ttMN, int ppN) NONO() /* 请在此函数内打开文件,输入测
2、试数据,调用 fun 函数,输出数据,关闭文件。 */ int i, j, k, m, tMN, pN ; FILE *rf, *wf ; rf = fopen(“in.dat“,“r“); wf = fopen(“out.dat“,“w“); for(m = 0 ; m 0.001) 【试题解析】 ( 1) fun函数要求返回方程的一个根,由 return语句来实现,而函数 fun是定义为 double型的,但第一个标识下面的 r却被定义为 int类型。所以“int r;”改为 “double r;”。 ( 2)检查 while循环的控制表达式 “(fabs(n-m)0.001)”。 三、程序设计题( 40分) 3 【正确答案】 int i,j, min, k; for(i=0; ittji) min=ttji; k=j; ppi=ttki; 【试题解析】 进入 fun函数,根据前面的分析: ( 1)依次访问每一列的元素。 ( 2)在对每一列的访问过程中选出最小数。 ( 3)将选出的最小数依次放到一维数组中。