c语言求素数,看看我哪里错了?

来源:百度知道 编辑:UC知道 时间:2024/06/19 19:00:36
/* Note:Your choice is C IDE */
#include "stdio.h"
#define M 200
#define N ((M+1)/2)
main()
{
int i,j,a[N];
a[0]=2;
for(i=1;i<N;i++)
a[i]=2*i+1;
for(i=1;i<(N-1);i++)
if(a[i]!=0)
for(j=i+1;j<N;j++)
if((a[j]%a[i]==0))
a[j]=0;
printf("\n The primer are [2-%d]:\n",M);
for(i=0,j=0;i<N;i++);
{
if(a[i]!=0)
{
printf("%5d",a[i]);
if((++j)%10==0)
printf("\n");
}
}
return;
}

#include "stdio.h"
#define M 200
#define N ((M+1)/2)
main()
{
int i,j,a[N];
a[0]=2;
for(i=1;i<N;i++)
a[i]=2*i+1;
for(i=1;i<(N-1);i++)
if(a[i]!=0)
for(j=i+1;j<N;j++)
if((a[j]%a[i]==0))
a[j]=0;
printf("\n The primer are [2-%d]:\n",M);
for(i=0,j=0;i<N;i++); //这里多了个分号去掉就可以了!!!!
{
if(a[i]!=0)
{
printf("%5d",a[i]);
if((++j)%10==0)
printf("\n");
}
}
return;
}

我 的天啊
你还是重写一个吧

是要写一个素数表吧?怎么写成这样了,太乱了。不用开数组,直接用数字递增就行。

#include <stdio.h>
#include <math.h>

#define M 200

int main(void)
{
int test=0;
int count=0;
int status = 1;
int tableCount = 0;

for(test=2; test<M; test++)
{
for(count=2; count<=sqrt(test); count++)
{
if ( (0==test%count) && (test!