问题 问答题

请编写函数fun(),其功能是:将所有大于1小于整数m的素数存入xx所指数组中,素数的个数通过k传回。
例如,输入25,则应输出2 3 5 7 11 13 17 19 23。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
void fun(int m,int *k,int xx[ ])

main( )

int m,n,zz[100];
clrscr( );
printf("/nPlease enter an integer number between 10 and 100:");
scanf("%d",&n);
fun(n,&m,zz);
printf("\n\nThere are%d prime numbers
less than %d:",m,n);
for(n=0;n<m;n++)
printf("\n %4d",zz[n]);

答案

参考答案:void fun(int m,int *k,int XX[])
{
int i,j,t,n=0;
for(i=2;i<m;i++) /*找出大于1小于整数m的素数*/
{
t=l;
for(j=2;j<i;j++)
if(i%j==0)
{
t=0;
break;
}
if(t==1)
xx[n++]=i;
}
*k=n; /*返回素数的个数*/
}

解析: 这道题是考查一个数是不是素数,只要掌握了判断素数的方法,问题便能顺利解决,请以此题为例,掌握判断素数的方法。

选择题
论述题