0
我寫了代碼將十進制數轉換爲相應的字母表示。十進制到BASE-26表示
例子:
1: A
2: B
.
.
.
26: Z
27: AA
.
.
.
703: AAA
這裏是我的方法:
void print(int n)
{
if(n > 0)
{
n--;
print(n/26);
printf("%c", (n % 26) + 'A');
}
}
上面的代碼working correctly。我可以在可讀性方面對其進行優化嗎?
做什麼是最好的方法?
現在,我想修改上面的代碼是這樣工作的:
0: A
1: B
.
.
.
25: Z
26: AA
.
.
.
702: AAA
最明顯的辦法是1加到輸入十進制數,並把它傳遞給函數的原代碼。 如何在不添加1的情況下修改第一個程序以處理第二個案例?
你有一個奇怪的想法如何base-26如何工作;你似乎缺少一個零... –
@R ..請仔細看看代碼。它不轉換爲基地26.觀察n-- –
我是指示例,而不是代碼。如果基數爲26,則不應有符號(Z),值爲26 ... –