2 qq 24291901 qq_24291901 于 2014.12.07 10:20 提问

c语言打印素数程序求大神

#include
int main()
{
int a[101],i,j;
for(i=0;i<101;i++)
a[i]=i;
for(i=0;i<101;i++)
{
for(j=0;j<i-1;j++)
{
if(a[i]%j!=0)break;
}
a[i]=0;
}
for(i=0;i<101;i++)
if(a[i]=0)
printf("%d is a sushu.",i);
return 0;

}

初学者啊啊啊啥都不会,打印1-100的素数,哪里错了
跪求大神指点感激不尽啊啊 啊~~~~~

8个回答

caozhy
caozhy   Ds   Rxr 2014.12.07 10:25

看错了
if(a[i]%j!=0)break;
这个应该是
if(a[i]%j==0) { a[i]=0; break; }
把后面的a[i]=0;删除

zowa13
zowa13 if(a[i]=0)也错了
3 年多之前 回复
DARKDFLAMERAGON
DARKDFLAMERAGON   2014.12.07 22:20

for (int j = 2 ; j < i ; j++)

correct program:

#include
int main()
{
int a[101],i,j;
/*设置初始值*/
for(i=1;i<101;i++)
a[i]=i;

/*判断是否为素数*/
for(i=1;i<101;i++)
{
for(j=1;j<i-1;j++)
{
if(a[i]%j==0){a[i]=0;break;}
}
}

/*输出素数*/
for(i=1;i<101;i++)
if(a[i]!=0)
printf("%d是素数。",i);
return 0;
}

caozhy
caozhy   Ds   Rxr 2014.12.07 10:23

if(a[i]=0)
->
if(a[i]!=0)

foxsql
foxsql   2014.12.07 11:37

#include
int main()
{
int a[101],i,j;
/*设置初始值*/
for(i=1;i<101;i++)
a[i]=i;

/*判断是否为素数*/
for(i=1;i<101;i++)
{
for(j=1;j<i-1;j++)
{
if(a[i]%j==0){a[i]=0;break;}
}
}

/*输出素数*/
for(i=1;i<101;i++)
if(a[i]!=0)
printf("%d是素数。",i);
return 0;
}

zowa13
zowa13   2014.12.07 11:46

#include
int main()
{
int a[101],i,j;
for(i=0;i<101;i++)
a[i]=i;
for(i=0;i<101;i++)
{
for(j=0;j<i-1;j++)
{
if(a[i]%j!=0)break; //if(a[i]%j==0){a[i]=0;break;} !=应改为==
}
a[i]=0; //这相当于每个元素都赋值为0.应把它和break一起放到if后面。
}
for(i=0;i<101;i++)
if(a[i]=0) //"="是赋值,应改为== if(a[i]==0) 因为前面把!=改为了==所以应变为if(a[i]!=0)
printf("%d is a sushu.",i);
return 0;

}


zowa13
zowa13   2014.12.07 11:47

我的程序:
#include
void main()
{
int i,j;
for(i=2;i<101;i++)
{int flog=0;
for(j=2;j<i-1;j++)
if(i%j==0)
flog=1;
if(flog==0)
printf("%d\n",i);
}
}

xianfajushi
xianfajushi   2014.12.07 16:01
DARKDFLAMERAGON
DARKDFLAMERAGON   2014.12.07 22:30

两个循环写错了,
for(i = 2 ; i <101 ; i++)
for(j = 2; j< i ; j++)

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!