1、国家二级 C语言机试(操作题)模拟试卷 38及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:求出形参 SS所指字符串数组中最长字符串的长度,将其余字符串右边用字符 *补齐,使其与最长的字符串等长。 SS所指字符串数组中共有 M个 7符串,且串 K #include #define M 5 #define N 20 void fun(char(*SS)N) int i, j, n, len=0; for(i=0; in) n=len; for(i=0; i #define SIZE 20 fun(double *s, double *w) int k, i; double s
2、um; for(k=2, i=0; i #define N 50 #define M 11 void fun(int *a, int *b) double rnd() static t=29, c=217, m=1024, r=0; r=(r*t+c) m; return(double)r m); main() int ageN, i, dM; void NONO (int dM); for(i=0; i #define N 50 #define M 11 void fun(int *a, int *b) 指针变量 a接收存放年龄数组的数组的地址, b接收统计数组的地址 int i, j; for(i=0; i=10) b10+; else bj+; ) 【试题解析】 该程序功能是统计各年龄段的人数。采用整除运算使得年龄段和其统计数组下标有对应关系。 解题思路 (1)首先,初始化不同年龄段的计数统计器。 (2)然后在 for循环中,首先取得数组中的元素除以 10,保存在 i中,由于年龄在 0 150之间,因此 i的值有 0, 1, 2,3, 4, 5, 6, 7, 8, 9,以及 10和大于10。凡是大于 10则统计在下标为 10的单元中,而其它的则统计在相应的 i表示的下标单元中。