题主的代码修改如下,5个一行显示,供参考:
#include<stdio.h>
int main()
{
int x, i, isprime, count = 0;
for(x=101;x<=200;x++)
{
isprime = 1;
for (i = 2; i * i <= x; i++) {
if (x % i == 0) {
isprime = 0;
break;
}
}
if (isprime == 1) {
printf("%c%d", count == 0 ? '\r' : count % 5 == 0 ? '\n' : ' ', x);
count++;
}
}
return 0;
}
因为总有不整除的
你现在的逻辑是只要找到不整除的数就认为其为素数
正确逻辑是只要找到能整除的数就认为不是素数
有帮助望采纳
第二层for循环里边,找到直接输出皆可
你的程序中ispreme只要被赋值为1,就无法改变,所以输出了所有数