Excel地址转换
Excel是最常用的办公软件。每个单元格都有唯一的地址表示。比如:第12行第4列表示为:“D12”,第5行第255列表示为“IU5”。
事实上,Excel提供了两种地址表示方法,还有一种表示法叫做RC格式地址。 第12行第4列表示为:“R12C4”,第5行第255列表示为“R5C255”。
你的任务是:编写程序,实现从RC地址格式到常规地址格式的转换。
【输入、输出格式要求】
用户先输入一个整数n(n<100),表示接下来有n行输入数据。
接着输入的n行数据是RC格式的Excel单元格地址表示法。
程序则输出n行数据,每行是转换后的常规地址表示法。
例如:用户输入:
2
R12C4
R5C255
则程序应该输出:
D12
IU5
1 #include<stdio.h> 2 #include<string.h> 3 4 int main() 5 { 6 int i,j,n,p,q; 7 char a[10]; 8 char b[10]; 9 scanf("%d",&n); 10 while(n--) 11 { 12 scanf("%s",a); 13 for(i=0;;i++) 14 if(a[i]=='C') 15 break; 16 sscanf(a+1,"%d",&p); 17 sscanf(a+i+1,"%d",&q); 18 j=0; 19 while(q) 20 { 21 if(q%26==0) 22 { 23 b[j++]='Z'; 24 q=q/26-1; 25 } 26 else 27 { 28 b[j++]=q%26+'A'-1; 29 q=q/26; 30 } 31 } 32 for(i=j-1;i>=0;i--) 33 printf("%c",b[i]); 34 printf("%d\n",p); 35 } 36 //printf("%c\n",'A'+13); 37 return 0; 38 }