反转整数位的位置?

bbj*_*sfj 6 c++ logic

我必须像这样反转整数的位置

输入= 12345

输出= 54321

我做了这个,但它给出了错误的输出,例如5432

#include <iostream>
using namespace std;

int main(){
 int num,i=10;   
 cin>>num;   

 do{
    cout<< (num%i)/ (i/10);
    i *=10;
   }while(num/i!=0);

 return 0;
}
Run Code Online (Sandbox Code Playgroud)

Ela*_*fer 12

这是一个解决方案

    int num = 12345;
    int new_num = 0;
    while(num > 0)
    {
            new_num = new_num*10 + (num % 10);
            num = num/10;
    }
    cout << new_num << endl;
Run Code Online (Sandbox Code Playgroud)


Dou*_* T. 10

你的循环太早终止了.更改

}while(num/i!=0);
Run Code Online (Sandbox Code Playgroud)

}while((num*10)/i!=0);
Run Code Online (Sandbox Code Playgroud)

再获得一次迭代,你的代码就可以了.