c语言,用筛选法输出100以内的质数
答案:2 悬赏:40
解决时间 2021-02-14 07:04
- 提问者网友:他的思颖
- 2021-02-13 09:22
c语言,用筛选法输出100以内的质数
最佳答案
- 二级知识专家网友:一池湖水
- 2021-02-13 09:33
这个很简单啊,你的算法是要把筛选法,也就是要把从1——100中,能够整除其他数字的去掉。第一次循环把数组n当中凡是2的倍数全部设为0,第二次循环把数组n中凡是3的倍数的全部变为0,…………。当i=4的时候,n[4]=原本的数字是4,但是第一次循环把2倍数的数组都改为0,所以这个时候n[4]=0,然后num也等于0,num会一直为0,如果没有你注释的那句,那循环永远都不满足num>=101,陷入死循环,当然什么都不会输出了。
全部回答
- 1楼网友:高冷不撩人
- 2021-02-13 09:52
有错,改成下面这样,可以成功运行
#include
int main()
{
int i,j,a[100],e;
for(i=0;i<100;i++)
a[i]=i+1;
for(i=0;i<100;i++)
{
j=i-1;
while(j>1)
{
e=a[i]%j;
if(e==0)a[i]=0;
j=j-1;
}
}
for(j=1;j<100;j++)
{
if(a[j]!=0)
{
printf("%2d ",a[j]);
}
}
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯