求素数错哪了,运行出来是错的

#include
int main() {
int i,j;
for(i=100;i<=200;i++){
for(j=2;;j++){
if(i%j!=0)
printf("%5d",i);
break;
}
}
return 0;
}

第二个for循环j<i条件呢,而且输出也应该在循环外面,这逻辑有问题,修改如下,有帮助的话采纳一下哦!

#include <stdio.h>
int main() {
    int i,j,flag;
    for(i=100;i<=200;i++){
        flag = 1;
        
        for(j=2;j<i;j++){
            if(i%j==0){
                flag = 0;
                break;        
            }
        }
        
        if(flag == 1){
            printf("%5d",i);
        }
    }
    return 0;
}

#include <stdio.h>
int main()
{
    int i, j;
    for (i = 100; i <= 200; i++)
    {
        for (j = 2;j<i; j++) 
        {
            if (i % j == 0)
                break;
            if(j == (i-1))
                printf("%5d", i);
        }    
    }
    return 0;
}