反向输出一个四位数(牛客网大一大二编程入门训练BC19)

img
代码无报错,但运行之后只能输入不能输出,请问错在哪里?

#include <stdio.h>
int main(int argc, char const *argv[])
{
   int a,b,c,d,e,f;
   scanf("%d",&a);
   b=a/1000;
   c=(a-b*1000)/100;
   d=(a-b*1000-c*100)/10;
   e=(a-b*1000-c*100-d*10);
   f=e*1000+d*100+c*10+b;
   printf("%d\n",f);

}

scanf里面不要加\n,输入的时候会自动丢弃\n所以\n一直无法被scanf接受
有帮助望采纳

scanf不能加\n
把第五行改为:
scanf("%d", &a);

换种思路,供参考:

#include<stdio.h>

int main()
{
    int a,b=0;
    scanf("%d",&a);
    while(a){
            b = b*10 + a%10;
            a /= 10;
    }
    printf("%d\n",b);
   
    return 0;
}

在return前加个 system("pause"); 试试