( 求教)請問c++的輸出順序可以顛倒嗎?

例如將123輸出成
3
2
1
這個我會用除法的商/和餘數%運算子解決,先除以10 後的餘數即可輸出,得到的商loop除以10後再輸出

可是如果要輸出成
1
2
3
要怎麼寫呢?
( 不能用 string也不能萱告太多變數)

難道需把原數先顛倒,再輸出嗎?

謝謝
文章關鍵字
方法可能很多, 其中之一是用遞迴.
但這是你的功課, 自己想的才是你的.
將123轉換成字元陣列再迴圈輸出,也是可以的。
sprintf(cStr, "%d", 123);
可以試看看這個函數

謝謝大家的回覆,,,
unl7911 wrote:
例如將123輸出成321...(恕刪)


不要用 ToString() ... 那就只能改用數字的公式來解決
依序用該數字所在位置(n) 的 10^(n-1) 去算
12345 / 10^4 或 12345 % 10^4,會得到 1 和 2345
2345 /10^3 或 2345 % 10^3,會得到 2 和 345
345 /10^2 或 345 % 10^2,會得到 3 和 45
45 /10^1 或 45 % 10^1,會得到 4 和 5
5 / 10^0 或 5 % 10^0,會得到 5 和 0

int number = 12345;
while (number > 0)
{
int digit = number / Math.Pow(10, (int)Math.log10(number));
Console.Write(digit);
number %= Math.Pow(10, (int)Math.log10(number));
}
輸出就是 1 2 3 4 5 的順序.
rone2101 wrote:
不要用 ToString...(恕刪)


我之前一直專注在 用餘數 的loop

忘了可以倒過來 其實可以 商數的loop

我知道該怎麼寫這個邏輯了,感謝大大的分享
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!