关键在于如何取到反转后的每位数字,首先通过取模,得到个位上的数字,倒过来就是新数字的千位,然后再除以10,层层剥去原来个位的数字;最重要的就是拼接这个步骤了,反转后的数字reverse等于reverse*10再加上末尾数字last,注意:末尾数字就是原来取模得到的,也就是新数字的千位,只能通过加得到,然后反转后的数字通过乘以10,逐渐扩大为四位数

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    int n=0;
    cin>>n;
    int reverse=0;
    int last=0;
    while(n>0)
    {
        last=n%10;
        reverse=reverse*10+last;
        n=n/10;
    }
    cout<<setw(4)<<setfill('0')<<reverse;
    return 0;
}