序号互换

 1  #include<stdio.h>
 2  #include<string.h>
 3  #include<algorithm>
 4  
 5  char a[12];
 6  char b[12];
 7  
 8  int f()
 9  {
10      int i,n,t=0;
11      n=strlen(a);
12      for(i=0;i<n;i++)
13          t=t*26+(a[i]-'A'+1);
14      return t;
15      
16  }
17  char* v()
18  {
19      int i,j,t,n;
20      char c[12];
21      memset(b,0,sizeof(b));
22      n=atoi(a);
23      i=0;
24      while(n)
25      {
26          t=n%26;
27          if(t==0)
28          {
29              c[i++]='Z';
30              n=n/26-1;
31          }
32          else
33          {
34              c[i++]=t+'A'-1;
35                 n=n/26;
36          }
37      }
38      for(t=0,j=i-1;j>=0;t++,j--)
39          b[t]=c[j];
40      return b;
41  }
42      
43  int main()
44  {
45      int n;
46      scanf("%d",&n);
47      while(n--)
48      {
49          scanf("%s",a);
50          if(a[0]>='0'&&a[0]<='9')
51              printf("%s\n",v());
52          else
53              printf("%d\n",f());
54      }
55      return 0;
56  }

 

posted @ 2013-04-08 11:23  萧凡客  阅读(300)  评论(0编辑  收藏  举报