编写函数int fun(int lim, int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数

admin2010-05-05  15

问题 编写函数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);
           }
       }

选项

答案int fun(int lim, int aa[MAX]) { int i,j,k=0; for(i=2;i<=lim;i++) /*求出小于或等于lim的全部素数*/ { for(j=2;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)
转载请注明原文地址:https://jikaoti.com/ti/tKkiFFFM
0

相关试题推荐
最新回复(0)