蓝桥杯—地址转换(C语言解法)
题目描述
输入输出样例
输入
用户输入:
2
R12C4
R5C255
输出
D12
IU5
思路
- 第一个数字不变,所以最后输出
- 第二个数字mod26,可以得到最后一位字母,存入字母数组中,再将第二个数组整除26,循环运算直至小于0
- 输出字母数组时,要倒序输出
代码
#include
char al[27]={' ','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
char res[10];
int main(){
int n,unchange,wchange;
char ch;
scanf("%d",&n);
while(n--){
int i=0;
scanf("%c",&ch);
while(ch=='\n' || ch==' ')scanf("%c",&ch);
if(ch=='R'){
scanf("%d",&unchange);
}
scanf("%c",&ch);
if(ch=='C'){
scanf("%d",&wchange);
}
while(wchange>0){
res[i++]=al[wchange%26];
wchange/=26;
}
for(int j=i-1;j>=0;j--){
if(res[i]==' ')break;
printf("%c",res[j]);
}
printf("%d\n",unchange);
}
return 0;
}