把一个正整数颠倒,如123转化321,我这个怎么没办法循环

#include"stdio.h"
void main()
{int n,a;

printf("输入一个正整数");
scanf("%d",&n);
do
{   if(n>0)
a=n%10;
n=n-a;
printf("%d",a);


}
while(n<=0);
}



循环修改如下:

do
{ 
a=n%10;
n=n/10;
printf("%d",a);
}
while(n);


while(n<=0)改为while(n>0)

你这个循环体也写错了

你这个循环条件是n<=0,只有n<=0才会进入循环,里面那个n=n-a改成n=n/10