输入一个数寻找最大素数

刚刚接触c语言,不知道错在哪里

img


这是我的代码

#include
int main(){
    int n,i,j,max=1,flag=0;
    scanf("%d",&n);
    for(i=2;ifor(j=2;jif(i%j==0){flag=1;break;}
        else{flag=0;}
        if(flag==0) {max=i;}}
    if(n==2||n==1) {printf("没有比%d小的素数",n);}
    else printf("%d",max);
    return 0;
}

有些值可以找到,有些值找不到
比如 输入9 会输出7
但输入10就会输出9
请赐教

你倒是倒过来找啊,for(j=n;j>=2;j--)这样第一个是素数的j就是答案了啊