第 1 页:第1页:填空题及解题思路 |
第 2 页:第2页:改错题及解题思路 |
第 3 页:第3页:编程题及解题思路 |
编程题
编写函数fun, 函数的功能是求出小于或等于lim的所有素数并放在aa数组中, 函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#define MAX 100
int fun(int lim, int aa[MAX])
{ http://ks.exam8.com
int i,j,k=0;
/* 其中变量k用于统计素数个数 */
for(i=2;i<=lim;i++)
{
/* 以下完成判断aa数组中小于或等于lim的素数并统计个数 */
}
return k;
}
main()
{
int limit, i, sum;
int aa[MAX] ;
printf("输入一个整数");
scanf("%d", &limit);
sum=fun(limit, aa);
for(i=0 ; i < sum ; i++) {
if(i % 10 == 0 && i != 0) printf("\n") ;
printf("%5d", aa[i]) ;
}
NONO();
}
解题思路:
本题是考察考生如何判断一个数是素数,再求出所有小于lim数的素数并存入数组aa中保存,最后由形参aa返回,素数的个数由函数值返回。
参考答案:
int fun(int lim, int aa[MAX])
{
int i,j,k=0;
/* 其中变量k用于统计素数个数 */
for(i=2;i<=lim;i++)
{
/* 以下完成判断aa数组中小于或等于lim的素数并统计个数 */
for(j = 2 ; j <= (i/2) ; j++)
if(i % j == 0) break;
if(j > (i/2)) aa[k++] = i;
}
return k;
}
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |