ytu 1301:Excel地址转换(水题,进制转换)

Excel地址转换

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 41  Solved: 11
[Submit][Status][Web Board]

Description

    Excel是最常用的办公软件。每个单元格都有唯一的地址表示。比如:第12行第4列表示为:“D12”,第5行第255列表示为“IU5”。
    
    事实上,Excel提供了两种地址表示方法,还有一种表示法叫做RC格式地址。 第12行第4列表示为:“R12C4”,第5行第255列表示为“R5C255”。

    你的任务是:编写程序,实现从RC地址格式到常规地址格式的转换。

Input

    用户先输入一个整数n(n<100),表示接下来有n行输入数据。

    接着输入的n行数据是RC格式的Excel单元格地址表示法。

Output

 程序输出n行数据,每行是转换后的常规地址表示法。

Sample Input

3
R1C1
R65535C256
R100C100
 
3
R100C99
R1C255
R255C27

Sample Output

A1
IV65535
CV100
 
CU100
IU1
AA255

HINT

 

这是道好题,虽然也是水题,但是思路很有创意。

 1 #include <iostream>
 2 #include <stdio.h>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     int n;
 8     while(cin>>n){
 9         getchar();
10         while(n--){
11             char s[101];
12             int r,c;
13             scanf("R%dC%d",&r,&c);
14             getchar();
15             char C[101];
16             int l=0;
17             while(c/26){
18                 int t;
19                 t=c%26;
20                 C[l++]='A'+t-1;
21                 c=c/26;
22             }
23             C[l]='A'+c-1;
24             for(;l>=0;l--)
25                 cout<<C[l];
26             cout<<r<<endl;
27             //C[l+1]='\0';
28             //cout<<C<<endl;
29         }
30         cout<<endl;
31     }
32     return 0;
33 }

 

Freecode : www.cnblogs.com/yym2013

posted @ 2013-12-05 20:51  Freecode#  阅读(430)  评论(0编辑  收藏  举报