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<conio.h>
 3 #include<string.h>
 4 #include<malloc.h>
 5 int main()
 6 {
 7     int n,i,j;
 8     scanf("%d",&n);
 9     fflush(stdin);
10     int *r=(int*)malloc(sizeof(int)*n);
11     int *c=(int*)malloc(sizeof(int)*n);
12     char a[200][30],result[200][30];
13     for(i=0;i<n;i++)
14     {
15         gets(a[i]);
16         sscanf(a[i],"R%dC%d",r+i,c+i);//输入数据
17         for(j=0;c[i];j++)//将C转换成字母
18         {
19             result[i][j]=('A'+c[i]%26-1);
20             c[i]/=26;
21         }
22         result[i][j]=0; //形成串 
23         strrev(result[i]);//反转
24         char temp[30];
25         itoa(r[i],temp,10);
26         strcat(result[i],temp);
27     }
28     putchar('\n');
29     for(i=0;i<n;i++)puts(result[i]);
30     getch();
31     return 0;
32 }

posted @ 2013-05-03 20:13  Please Call me 小强  阅读(560)  评论(0编辑  收藏  举报