簡單題
思路:
將十進制的32位整數轉換成其他進制,這個可以用余數定理,關於進制轉換的文章谷歌一下已很多,這裡不詳述
此題解法可以采用最簡單最直接想到的方法,就是保存轉換後的數,再倒序輸出,可以利用打表技巧輸出:
[cpp]
char table[] = "0123456789ABCDEF";
char table[] = "0123456789ABCDEF";
另一個解法就是用棧,前幾次的計算的結果不輸出,壓棧,直到最後的數為零時終止並向上返回,這時就出棧,把壓棧的結果逐個輸出
關鍵代碼:
[cpp]
void fun(int n, int r)
{
if (n)
{
fun(n / r, r);
printf("%c", n % r > 9 ? n % r - 10 + 'A' : n % r + '0');
}
}
void fun(int n, int r)
{
if (n)
{
fun(n / r, r);
printf("%c", n % r > 9 ? n % r - 10 + 'A' : n % r + '0');
}
}