输入整数n和n个正整数,输出其中所有素数,若没有则输出no

#include<stdio.h>
#include<math.h>

int main(void)
{
int flag,i,j,n,m,x;

x=0;
scanf("%d", &n);//输入整数n
flag=1;

for(i=0;i<n;i++)//输入n个整数并依次判断是否是素数并输出
{
    scanf("%d", &m)
    for(j=2;j<sqrt(m);j++)
    {
        if(m%j==0||m==1)
        {
            flag=0;
        }
    }
    if(flag==1)
    {
        x++;
        printf("%d ", m);
    }
    flag=1;
}

if(x==0)
    printf("no");

return 0;

}
内循环中if语句好像没有执行︽⊙_⊙︽

另一个问题,内层循环条件换为if(m%j==0|| m==1)为何结果不对٩(๑^o^๑)۶

代码修改如下:

#include <stdio.h>
#include <math.h>
int main()
{
    int flag,i,j,m,n,x;
    x=0;
    scanf("%d",&n);
    flag = 1;
    for (i=0;i<n;i++)
    {
        flag = 1;
        scanf("%d",&m);
        if(m<2) 
        {
            continue;
        }
        for (j=2;j<=sqrt((double)m);j++) //这里是 <=
        {
            if(m%j==0)
            {
                flag = 0;
                break;
            }
        }
        if(flag == 1)
        {
            x++;
            printf("%d ",m);
        }
    }
    if (x==0)
        printf("no");
    return 0;
}