输出100以内的素数
#include<stdio.h>int main()
{
int x;
int i;
int is_Prime_number=1;
for(x=2; x<=100; x++)
{
for(i=2; i<x; i++)
{
if(x%i==0)
{
is_Prime_number=0;
break;
}
}
if(is_Prime_number==1)
{
printf("%d ",x);
}
}
return 0;
}
但是输出的结果就只有2和3,其他数字都没有,好想知道问题出在哪里? int is_Prime_number=1;
for(x=2; x<=100; x++)
{
is_Prime_number=1;
for(i=2; i<x; i++) 1447391641 发表于 2020-8-29 16:03
int is_Prime_number=1;
for(x=2; x
诶行了,能问一下为什么这里要再写一遍 is_Prime_number=1; 吗?为什么这么改就行了? phantommagic 发表于 2020-8-29 16:16
诶行了,能问一下为什么这里要再写一遍 is_Prime_number=1; 吗?为什么这么改就行了?
你不赋值为1,当它不是素数等于0时,就永远不会等于1了 当循环执行i = 2, i = 3,is_Prime_number = 1, 当遇到4时is_Prime_number = 0,并且在4之后 is_Prime_number无论是不是素数 都是is_Prime_number=0,所以之会输出2,3
页:
[1]