如何输出100以内的素数?
#include <stdio.h>
int main ()
{
int x;
for (x=2;x<100;x++)
{
int i;
int isPrime = 1;
for(i=2;i<x;i++){
if (x%i == 0){
isPrime = 0;
break;
}
}
if (isPrime == 1){
printf("%d\n",x);
}
}
return 0;
}
break 和 continue只能对它在的那一层循环做
如何输出前50个素数?
for循环不合适(但其实也可以用),因为它需要确定的次数或者是范围,这里在前面的基础上加上计数器,然后变成while循环即可
#include <stdio.h>
int main ()
{
int x;
int cnt=0;
while (cnt < 50)
{
int i;
int isPrime = 1;
for(i=2;i<x;i++){
if (x%i == 0){
isPrime = 0;
break;
}
}
if (isPrime == 1){
printf("%d\n",x);
cnt ++;
}
x ++;
}
return 0;
}
如果依旧采取for循环,代码如下
#include <stdio.h>
int main ()
{
int x;
int cnt = 0;
for (x = 2;cnt < 50;x++)
{
int i;
int isPrime = 1;
for(i=2;i<x;i++){
if (x%i == 0){
isPrime = 0;
break;
}
}
if (isPrime == 1){
printf("%d\n",x);
}
}
return 0;
}