求100以内三个最大的素数(do..while语句)

#include<stdio.h>
void main()
{
int i=101,n,x=0,a;
do {
i--;
do {
n=1;
n++;
a=i%n;
if(a==0)break;
else
do
{ printf("%d\t",i);
x++;
i--;
} while(i>=2);
} while(x<=3);
} while(n<i);
}

运行不出结果,希望有人看看哪错了

题主可以看一下这个代码,你的代码do...while循环用的太多了,不太好改


#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
    int n = 100;
    int i = 0;
    int count = 0;
    do
    {
        int flag = 0;
        for (i = 1; i <= n; i++)
        {
            
            if (n % i == 0)
            {
                flag++;
            }
            if (flag == 2 && i == n)
            {
                printf("%d  ", i);
                count++;
            }

        }
        n--;

    } while (count != 3);



    return 0;
}