Umkehrung einer Zahl mit führenden Nullen

Wie können wir das umkehren einer Zahl mit führenden Nullen in der Nummer ?
Für ex: Wenn der Eingang ist 004,
Ausgabe sollte sein 400.

Schrieb ich unter Programm, aber es funktioniert nur, wenn Sie keine führenden Nullen in der Eingabe.

int num;
cout<<"Enter number "<<endl;
cin>>num;

int rev = 0;
int reminder;
while(num != 0)
{
    reminder = num % 10;
    rev = rev * 10 + reminder;
    num = num / 10;
}
cout<<"Reverse = "<<rev<<endl;

Gibt es eine Möglichkeit, nach Eingabe einer Zahl mit führenden Nullen ? Selbst dann, Über Logik funktioniert nicht bei solchen zahlen.

Irgendeine einfache Lösung ? Es ist machbar, indem die Eingabe als string und-Verarbeitung. Aber das sieht nicht schön aus.

*EDIT: Wenn die Länge der Nummer bekannt ist, erscheint es möglich sein, das umkehren einer Zahl mit führenden Nullen. (Ohne string)*

Werde ich nach dem code, sobald es funktioniert.

EDIT 2: ich habe versucht, um wieder Zeichen zu cin-stream und Lesen Sie und berechnen Sie die Rückseite. Es ist für 2-stellige zahlen.

Aber wenn Länge bekannt ist, seine weit einfacher zu finden, umzukehren. Alles, was ich zu tun ist, multipliziert mit 10 für die erforderliche Anzahl von Zeiten.
Also ich denke, ich würde mit string-Ansatz.
In der Hoffnung, dass interviewer würde mich freuen 🙂

  • Wenn Sie möchten, dass führende Nullen in Ihrem Eingang, dann haben Sie ziemlich viel über die Eingabe als string.
  • Sieht nicht schön?! Eh? 🙂 Das ist mit Abstand die einfachste Methode-Sie brauchen noch nicht einmal zu faff um mit der tatsächlichen Anzahl, wie Sie tun, über. Die einzige Sorge, die mit dem string-Ansatz scheint zu prüfen, ob der input tatsächlich für eine Zahl-aber das ist nicht gerade schwer. Was ist das problem genau?
Schreibe einen Kommentar