我提交AC的代码: #include<iostream> #include<math.h> #include<cstdio> #include<cstring> using namespace std; char s[30]="ZABCDEFGHIJKLMNOPQRSTUVWXYZ"; long sum; void change(char str[]) { sum=0; int i,l=strlen(str); l--; for(i=0;str[i];i++) sum+=(str[i]-'0')*(long)pow(10,l--); } int trans(char c) { return c-'A'+1; } int main() { long x; int n,i,a[100]; char str[30]; scanf("%d",&n); while(n--){ scanf("%s*c",str); if(str[0]>='0'&&str[0]<='9'){ change(str); int count=0; while(sum){ int xx=sum%26; if(xx==0) sum-=1; a[count++]=xx; sum/=26; } for(i=count-1;i>=0;i--){ printf("%c",s[a[i]]); } } else{ x=0; int l=strlen(str); l--; for(i=0;str[i];i++) x+=trans(str[i])*(long)pow(26,l--); printf("%ld",x); } printf("/n"); } return 0; }