我编写代码将十进制数转换为相应的字母表示。
示例:
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的情况下修改第一个程序来处理第二个程序?
答案 0 :(得分:1)
经过一些观察,我尝试了以下代码&它适用于Case: 2
。
void print(int n)
{
if(n < 26)
printf("%c", n + 'A');
else
{
print(n / 26 - 1);
print(n % 26);
}
}
请参阅输出here。