1、全国计算机二级 C 语言上机试题 49+2015 年及答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun 的功能是:将形参 s 所指字符串中所有 ASCII 码值小于 97 的字符存入形参 t 所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。 例如,形参 s 所指的字符串为:Abc1x56*,程序执行后 t 所指字符数组中的字符串应为:A156*。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构! 给定源程序: #inclu
2、de int fun(char *s, char *t) int n=0; while(*s) if(*s xa) c+; return c; main ( ) float x100 = 193.199, 195.673, 195.757, 196.051, 196.092, 196.596, 196.579, 196.763; printf(“%d/n“, fun (x, 8); (分数:10.00)_3.编写函数 fun,其功能是:根据以下公式求 P 的值,结果由函数值带回。m 与 n 为两个正整数且要求 m n。 m! P = n!(m-n)! 例如:m12,n8 时,运行结果为 495
3、.000000。 注意: 部分源程序在文件 PROG1.C 文件中。请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include float fun(int m, int n) main() /* 主函数 */ printf(“P=%f/n“, fun (12,8); NONO(); (分数:10.00)_全国计算机二级 C 语言上机试题 49+2015 年答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun 的功能是:将形参 s 所指字符串中所有 ASCII 码值小于 97 的字符存入形参 t
4、所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。 例如,形参 s 所指的字符串为:Abc1x56*,程序执行后 t 所指字符数组中的字符串应为:A156*。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include int fun(char *s, char *t) int n=0; while(*s) if(*s xa) c+; return c; main ( ) float x100 = 193.199, 195.673,
5、 195.757, 196.051, 196.092, 196.596, 196.579, 196.763; printf(“%d/n“, fun (x, 8); (分数:10.00)_正确答案:(第一处:两种类型变量定义之间应该用分号,所以应改为:int j, c=0; float xa=0.;。 第二处:在 C 语言中,大于等于应表达为=。)解析:3.编写函数 fun,其功能是:根据以下公式求 P 的值,结果由函数值带回。m 与 n 为两个正整数且要求 m n。 m! P = n!(m-n)! 例如:m12,n8 时,运行结果为 495.000000。 注意: 部分源程序在文件 PROG1
6、.C 文件中。请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include float fun(int m, int n) main() /* 主函数 */ printf(“P=%f/n“, fun (12,8); NONO(); (分数:10.00)_正确答案:(#include long jc(int m) long s=1; int i ; for(i=1;i=m;i+) s=s*i ; return s; float fun(int m, int n) float p; p=1.0*jc(m)/jc(n)/jc(m-n) ; return p; )解析: