题意:有两种电子表格计数系统:
1、列为A-Z字母计数,行为数字计数。
2、RXCY 形式
判断输入格式,并进行相互转化
难点:输入计数系统的判断
思路:通过sscanf函数限定输入格式,我们可以快速判别输入计数系统,进行相应转化
#include "stdio.h"
void PrintColumn(int y){
//列数为0,除尽
if(y){
//递归打印
PrintColumn((y-1)/26);
putchar(65+(y-1)%26);
}
}
int main()
{
/* code */
int n,x,y;
char s[64],*p;
scanf("%d ",&n);
while(n--){
gets(s);
if(sscanf(s,"%*c%d%*c%d",&x,&y)==2)
{
//为RXCY计数系统
//打印字母列
PrintColumn(y);
//打印数字行
printf("%d\n",x);
}
else{
// C R
// 字母 数字 计数系统
for(x=0,p=s;*p>64;++p)
//列字母转化成数字
x=x*26 + *p - 64;
printf("R%sC%d\n",p,x);
}
}
return 0;
}
网友评论