首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求一百以内的素数 ,有关问题在哪里 多谢

2013-01-18 
求一百以内的素数 ,问题在哪里 谢谢#include stdio.hmain(void){int j,i,k,a[100]for (i1i101i++)a

求一百以内的素数 ,问题在哪里 谢谢
#include "stdio.h"
main(void)
{
int j,i,k,a[100];
for (i=1;i<101;i++)
a[i]=i;
for(j=2;j<11;j++)
for(i=j+1;i<101;i++)
{if(a[j]!=0&&a[i]!=0)
if(a[i]%a[j]==0)
a[i]=0;
}
if(a[i]!=0)
printf("%d",a[i]);
}

[解决办法]
定义的数组是100,最大到a[99],但使用时用到了a[100],越界了。
而且你打印结果也应该放到一个循环中吧?

#include "stdio.h"

int main(void)
{
int j,i,k,a[101];
for (i=1; i<101; i++)
{
a[i] = i;
}
for(j = 2; j < 11; j++)
{
for(i = j+1; i < 101; i++)
{
if(a[j] != 0 && a[i] != 0)
{
if(a[i] % a[j] == 0)
{
a[i] = 0;
}
}
}
}
for(i = 1; i < 101; i++)
{
if(a[i] != 0)
printf("%d\n", a[i]);

}
}

[解决办法]
第一个if后面怎么没有操作?

热点排行