#include<stdio.h>
#include<math.h>
void main()
{
int n,i,a;
a=sqrt(n);
for(n=101;n<=200;n++)
for(i=2;i<=a;i++)
if(n%i==0)break;
if(i>=a+1)
{
printf("%d",n);
}
printf("%d\n");
输出
你调用开方函数的时候,n还没赋值,应该把那一行放到循环里。如果有用,请点击以解决
#include <stdio.h>
int main()
{
int i, j;//默认为素数
for (i = 100; i <= 200; i++)
{
int isPrime = 1;
for (j = 2; j * j <= i; j++)
{
if (i % j == 0)
{
isPrime = 0;
break;
}
}
if(isPrime == 1){
printf("%d ", i);
}
}
}