可以看成一个进制转换的问题
26进制(对应相应的字母)!和十进制的转换!
26进制(对应相应的字母)!和十进制的转换!
void fun(int b){ if(b>9){ fun(b/10); } int c = b%10; if(c==0) printf("0"); else{ printf("%c",c+'A'-1); } } int main(){ int a,temp; scanf("%d",&a); if(a<=26){ printf("%c",a+'A'-1); } temp = (a/26)*10+a%26; fun(temp); printf("\n"); return 0; }
#include <stdio.h> int base[26] = {'Z','A','B','C','D','E','F','G','H','I','J',//1-10 'K','L','M','N','O','P','Q','R','S','T',//11-20 'U','V','W','X','Y'};//21-26 int main() { int i,j; int n; while(EOF != scanf("%d",&n)) { int k = 0; int bit[100] = {0}; while(n) { bit[k++] = n%26; n /= 26; } while(k--) { putchar(base[bit[k]]); } printf("\n"); } return 0; }我直接用Z来代替0了 输入26输出AZ表示向前面进了一位