请编写函数fun( ),其功能是:将所有大于1小于整数m的素数存入xx所指数组中,素数的个数通过k传回。 例如,输入25,则应输出2 3 5 7 11 13 17 19 23。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数

admin2013-06-12  24

问题 请编写函数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; /*返回素数的个数*/ }

解析 这道题是考查一个数是不是素数,只要掌握了判断素数的方法,问题便能顺利解决,请以此题为例,掌握判断素数的方法。
转载请注明原文地址:https://kaotiyun.com/show/QrJp777K
0

最新回复(0)