1、全国计算机二级 C 语言上机试题 47+2015 年及答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun 的功能是:找出形参 s 所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。 例如,形参 s 所指的字符串为:abcAbsmaxless,程序执行后的输出结果为: letter a : 3 times letter s : 3 times 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #in
2、clude #include void fun(char *s) int k26=0,n,i,max=0; char ch; while(*s) if( isalpha(*s) ) /*found*/ ch=tolower(_1_); n=ch-a; /*found*/ kn+= _2_ ; s+; /*found*/ if(max printf(“/nAfter count :/n“); for(i=0; i_2.给定程序 MODI1.C 中函数 fun 的功能是:求 S 的值。 例如,当 k 为 10 时,函数值应为:1.533852。 请改正程序中的错误,使程序能输出正确的结果。 注意:
3、不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include /*found*/ void fun( int k ) int n; float s, w, p, q; n = 1; s = 1.0; while ( n = k ) w = 2.0 * n; p = w - 1.0; q = w + 1.0; s = s * w *w/p/q; n+; /*found*/ return s main ( ) printf(“%f/n“, fun (10); (分数:10.00)_3.编写函数 fun,它的功能是:计算并输出下列级数和: 1 1
4、 1 S = + + + 12 23 n(n+1) 例如,当 n = 10 时,函数值为:0.909091。 注意: 部分源程序在文件 PROG1.C 文件中。 请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include double fun( int n ) main() /* 主函数 */ printf(“%f/n“, fun(10); NONO(); (分数:10.00)_全国计算机二级 C 语言上机试题 47+2015 年答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun 的功能是:找
5、出形参 s 所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。 例如,形参 s 所指的字符串为:abcAbsmaxless,程序执行后的输出结果为: letter a : 3 times letter s : 3 times 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #include void fun(char *s) int k26=0,n,i,max=0; char ch; while(*s)
6、if( isalpha(*s) ) /*found*/ ch=tolower(_1_); n=ch-a; /*found*/ kn+= _2_ ; s+; /*found*/ if(max printf(“/nAfter count :/n“); for(i=0; i_正确答案:(第一处:将当前字母转换为小写字母,所以应填:*s。 第二处:把该字母出现的个数累加到指定的数组中,所以应填:1。 第三处:如果当前该字母出现次数大于最大次数 max,那么把该次数赋值给 max,所以应填:kn。)解析:2.给定程序 MODI1.C 中函数 fun 的功能是:求 S 的值。 例如,当 k 为 10 时,
7、函数值应为:1.533852。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include /*found*/ void fun( int k ) int n; float s, w, p, q; n = 1; s = 1.0; while ( n = k ) w = 2.0 * n; p = w - 1.0; q = w + 1.0; s = s * w *w/p/q; n+; /*found*/ return s main ( ) printf(“%f/n“, fun (10); (
8、分数:10.00)_正确答案:(第一处:由于函数返回是实数,所以必须定义返回的类型,只有整型或无结果返回可以忽略,其他必须定义返回的类型,所以要在此行前加上 double 或 float。 第二处:缺少分号。)解析:3.编写函数 fun,它的功能是:计算并输出下列级数和: 1 1 1 S = + + + 12 23 n(n+1) 例如,当 n = 10 时,函数值为:0.909091。 注意: 部分源程序在文件 PROG1.C 文件中。 请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include double fun( int n ) main() /* 主函数 */ printf(“%f/n“, fun(10); NONO(); (分数:10.00)_正确答案:(double fun( int n ) double s = 0.0 ; int i ; for(i = 1 ; i = n ; i+) s = s + 1.0 / (i * (i + 1) ; return s ; )解析: