请编写一个函数void fun(int m, int k, int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入所指的数组中。 例如,若输入17,5,则应输出19,23,29,3l,37。 注意:部分源程序给出如下。 请

admin2010-05-05  17

问题 请编写一个函数void fun(int m, int k, int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入所指的数组中。
   例如,若输入17,5,则应输出19,23,29,3l,37。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
   试题程序:
   #include <conio.h>
   #include <stdio.h>
   void fun(int m, int k, int xx[])
   {
   }
   main()
   {
    int m,n, zz[1000];
    clrscr();
    printf("\nPlease enter two integers: ");
    scanf("%d%d",&m,&n);
    fun(m,n,zz);
    for(m=O;m<n;m++)
      printf("%d ",zz[m]);
    printf("\n ");
   }

选项

答案void fun(int m, int k, int xx[]) { int i,j,n; for (i=m+1,n=0;n<k;i++) /*找大于m的素数,循环k次,即找出紧靠m的k个素数*/ {for(j=2;j<i;j++) /*判断一个数是否为素数,如果不是,跳出此循环,判断下一个数*/ if(i%j==O) break; if(j>=i) /*如果是素数,放入数组xx中*/ xx[n++]=i; } }

解析 本题只要掌握了判断素数的算法即不难完成了,其实程序缺少部分也正是这部分。
转载请注明原文地址:https://jikaoti.com/ti/6KkiFFFM
0

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