输出100到200之间的素数,大神们,看一下哪儿错了,急等

#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);
        }
    }
}