以下は質問です 整数の数字を逆にしたいと思います。整数の逆数
- 例1:X = 123、321 2
- 例を返す:-321
マイコードは9桁の数字までのすべてのケースのために働く戻り、X = -123。 10桁の入力の場合、その逆を書きません。私は何をしますか?
私のコードは次のとおり
int reverse1 (int x){
int n = x;
int temp = 0;
if (n > 0){
while (n > 0){
int a = n % 10;
temp = (temp * 10) + a;
n = n/10;
}
} else {
while (n < 0){
int a = n % 10;
temp = (temp * 10) + a;
n = n/10;
}
}
return temp;
}
'-123 - > -32'、または' - > -321'を意味しますか? –
あなたのようにテストを続けましたか? '123'、' 1234'、...、 '123456789'、' 1234567890'? '1234567890'の逆は' 0987654321'ではなく '987654321'です。なぜなら数字は先行ゼロを示さないからです。または '1234567899'を試しましたか?逆は' 9987654321'ではないので、 'int'でサポートされている最大値を超えます。要するに、「それは働かない」(または同様の意味の言葉)私達に言わないでください。私たちに教えてください(意味 "ショウ私たち")正確に*どのように*動作しません! – Andreas