您的位置:首页 > 编程语言 > C语言/C++

蓝桥杯_第三届_决赛_C语言高职组_3

2013-07-02 18:54 225 查看
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

#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;

char* itoC(int n)
{
char str[100]={0};
int p=0;
while(n>0)
{
str[p]=n%26+'A'-1;
p++;
n=n/26;
}
return str;
}
char* rStr(char* str)
{
int len=strlen(str);
int i;
char res[100];
for(i=0;i<len;i++)
{
res[len-i-1]=str[i];
}
res[len]='\0';
return res;
}

int main()
{
int n;
char strC[100];

scanf("%d",&n);
getchar();
while(n--)
{
char t;
int r,c;
scanf("%c%d%c%d",&t,&r,&t,&c);
getchar();
printf("%s%d\n",rStr(itoC(c)),r);

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: