回 帖 发 新 帖 刷新版面

主题:谁能帮我编这个问题,万分感激!!!!!

求100到200之间的素数,并把他们保存在数组中,在输出.
xiexie !!!

回复列表 (共3个回复)

沙发

#include"stdio.h"
#include<math.h>
main()
{  int array[50];/*这个数组是用来放素数,因为100---200之间是100个数,素数的个数应不会多于奇数的个数;*/
   int i,k,m,n=0;
   clrscr();
   for(m=101;m<=200;m+=2)
       {
      k=sqrt(m);
       for(i=2;i<=k;i++)/*当一个数是否为素数只要除到它的平方根时,还不能被任何一个数除尽的话,则这个数就是素数;*/
          if(m%i==0)
         break;
            if(i>=k)
               {
              printf("%4d",m);
              array[n++]=m;
              }
      }
      printf("\n");
      for(i=0;i<n;i++)
    printf("%4d",array[i]);
}
/*你也可以用单链表来存放数据,typedef struct date
                                   { int d;
                                     struct date *next;};
这样可动态的申请数据的存储空间,要是在Visual Basic6.0或是.NET里可用 redim 来定义组的存储空间,*/
有时间的话我们可以相互切磋,我的QQ是383189562,电子信箱是:gsliutao@126.com

板凳

#include<stdio.h>
#include<math.h>
int main()
{
  int i,j,k,n=1,m,a[30];
  for(i=100;i<=200;i++)
  {  
     
     k=(int)sqrt(i);
      for(j=2;j<=k;j++)
      {   
          if(i%j==0) break;
      }
    if(j>k)
    a[n++]=i;
    
  }
  for(m=1;m<n;m++)
    printf("%d ",a[m]);
  printf("\n");
  return 0;
}

3 楼

你的程序有点小问题:k应该定义为double型。
clrscr();
是什么意思?不起什么作用呀!
还是谢谢你!
以后继续交流,可以吗?

我来回复

您尚未登录,请登录后再回复。点此登录或注册