问题 问答题

请编写函数fun(),其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。
例如,输入17,则应输出4 6 8 9 10 12 14 15 16。
注意:部分源程序给出如下。
请勿改动主函数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 non-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,n=0;

for (i=D; i<m; i++) /*找出大于A小于整数m的非素数*/

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

if{i%j==0) break;

if(j<i) xx[n++]=i;

}

*k=n; /*反回非素数的个数*/

}

解析:

这道题是考查一个数是不是素数的简单延伸,只要掌握了判断素数的方法,问题便能顺利解决,请学习者以此题为例,搞清判断素数的方法。

问答题
单项选择题