问题 问答题

编写函数int fun(int lim, int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#define MAX 100
int fun(int lim, int se[MAX])

main()

int limit,i,sum;
int aa[MAX];
clrscr();
printf("输入一个整数");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i<sum;i++)

if(i%10==0&&i!=0) /*每行输出10个数*/
printf("\n");
printf("%5d ",aa[i]);

答案

参考答案:

int fun(int lim, int aa[MAX])

{

int i,j,k=0;

for(i=B;i<=lim;i++) /*求出小于或等于lim的全部素数*/

{ for(j=B;j<i;j++)

if(i%j==0) break;

if(j>=i)

aa[k++]=i;; /*将求出的素数放入数组aa中*/

}

return k; /*返回所求出的素数的个数*/

}

解析:

在做这道题时,我们只需掌握素数的基本算法就可以了,一般表示素数的方法如下:

for (j=2;j<i;j++)

if(i%j==0) break;

if(j>=i)

单项选择题 A1/A2型题
选择题