1、国家二级( C语言)机试模拟试卷 172及答案与解析 一、程序填空题( 30分) 1 给定程序中,函数 fun的功能是:调用随机函数产生 20个互不相同的整数放在形参 a所指数组中 (此数组在主函数 中已置 0)。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #include #include #define N 20 void fun(int*a) int i, x, n=0; x=rand() 20; *found* while(n void fun(char *s
2、) int i,j; for(i=j=0; si!=0; i+) if(si!=c) /*found*/ sj=si; /*found*/ si=0; main() char s80; printf(“Enter a string: “); gets(s); printf(“The original string: “); puts(s); fun(s); printf(“The string after deleted : “); puts(s); printf(“nn“); 三、程序设计题( 40分) 3 编写函数 fun,函数的功能是求出小于或等于 lim的所有素数并放在 aa数组中,函
3、数返回所求出的素数的个数。 注意:部分源程序在文件 PROGI C中。 请勿改 动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 #include #define NAX 100 int fun(int lim, int aaMAX) main() int limit, i, sumjvoid NONO(); int aaNAX; printf(“输入一个整数 “); scanf(“ d“, &limit); sum=fun(limit, aa); for(i=0; i(i 2)aak+=i; return k; 【试题解析】 进入 fun函数,根据前面的分析: (1)首先,判断 i是否是素数。即是否能被 2 (i 2)整除。 (2)若是素数,就将 i存入数组 aa,并对计数器 k加 1。 (3)最后返回素数的个数 k。 其中,对于素数的判断并不只局限于上面提到的方法,也可以采用其他的方法进行判断。