序号互换

时间限制:1000 ms  |  内存限制:65535 KB
难度:2
描述

Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来。单元格的行坐标是由数字编号的数字序号,而列坐标使用字母序号。观察字母序号,发现第1列到第26列的字母序号分别为A,B,…,Z,接着,第27列序号为AA,第28列为AB,依此类推。

若给Dr.Kong的机器人卡多一个数字序号(比如32),它能很快算出等价的字母序号(即AF),若给机器人一个字母序号(比如AA)),它也能很快算出等价的数字序号(27),你能不能与卡多比试比试,看谁能算得更快更准确。

输入
第一行: N 表示有多少组测试数据。
接下来有N行, 每行或者是一个正整数,或者是一个仅由大写字母组成的字符串。
输入保证,所有数字序号和字母序号对应的数字序号均 ≤ 2*10^9
输出
对于每一行测试数据,输出一行。如果输入为一个正整数序号,则输出等价的字母序号;如果输入为字符串,则输出等价的数字序号。
样例输入
3
27
G
AA
样例输出
AA
7
27

代码:#include <stdio.h>#include <string.h>#include <math.h>

int a[10];

int char_int(char ch[]){    int i = 0;    int sum = 0;    for(i = 0; i < strlen(ch); i++)      {          sum = sum * 10 + ( (int)ch[i] - 48);      }    return sum;}

void int_print(char ch[]){    int x = char_int(ch);    int i = 0;    while(x)    {        if(x%26 != 0)        {            a[i] = x % 26;            x /= 26;        }        else        {            a[i] = 26;            x = x/26 - 1;        }        ++i;    }  int j = 0;  for(j = i-1; j>=0; j--)   {            printf("%c",a[j] + 64);   }   printf("\n");}

void char_print(char ch[]){    int i;    int k = 0;    int sum = 0;    for(i = strlen(ch)-1; i >= 0; i--)        {            sum += ((int)ch[i]-64) * pow(26,k);            k++;        }         printf("%d\n",sum);}

int main(){    int n;    scanf("%d",&n);    while(n--)    {        char ch[20];        scanf("%s",ch);        if(ch[0]>='A' && ch[0]<='Z')            char_print(ch);        else            int_print(ch);    }    return 0;

}字符转数字很简单,那个字符转数字就是考虑一下那个最后一个是Z的情况这样就好解决了

转载于:https://www.cnblogs.com/yyroom/archive/2013/03/02/2940516.html

nyist 303 序号互换相关推荐

  1. NYOJ 303 序号转换 数学题

    序号互换 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来.单元格的行坐标是由数字编号 ...

  2. A题 序号互换(进制转换)

    序号互换 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来.单元格的行坐标是由数字编号 ...

  3. 第八场多校联盟 Problem A: 序号互换 【模拟】

    Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 225  Solved: 88 [Submit][Status][Web Board] Descript ...

  4. zzuli303(奇葩26进制转换)

    序号互换 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来.单元格的行坐标是由数字编号 ...

  5. 求解VRP问题的节约里程法、sweep扫描算法和λ互换法

    第05章  求解容量约束车辆路径问题的启发式算法 Edited by Jiannywang@163.com 目  录 5.1 节约里程法. 1 5.1.1 C-W节约算法简介. 1 5.1.2 C-W ...

  6. excel行列互换_excel统计函数:应用广泛的动态统计之王OFFSET(上)

    编按:哈喽,大家好!今天是部落窝函数课堂的第6课,我们将认识人送外号"动态统计之王"的OFFSET函数!OFFSET函数是一个非常实用的函数,它在下拉菜单.动态图表.动态引用等操作 ...

  7. CaNet-master装载图片数据和mask(index对应单张图片序号)

    使用三个txt(15cls)训练,另外1个txt(5cls)用于val. 训练需要support set原图+mask,query set原图,使用query集计算loss更新参数. support ...

  8. VBA列数字与字母互换

    <内容来至Excelhome> vba列数字与字母互换: 方案一:速度:快 Function NumToStr(ByVal Num As Long) As String   '数字转字母 ...

  9. LeetCode简单题之数组序号转换

    题目 给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号. 序号代表了一个元素有多大.序号编号的规则如下: 序号从 1 开始编号. 一个元素越大,那么序号越大.如果两个元素相等, ...

最新文章

  1. 去除ios input部分默认样式
  2. 主流NoSQL及应用场景详解
  3. 使用动态代理简单模拟一下spring的事务管理
  4. 打通C/4HANA和S/4HANA的一个原型开发:智能服务创新案例
  5. linux 查看可执行文件动态链接库相关信息(转)
  6. 跟我一起学.NetCore之Asp.NetCore中集成Autofac扩展
  7. linux入门_linux入门-常用命令的使用
  8. odoo之可选择多个内容显示问题
  9. Mate 50年内无望!华为确认10月海外发布会主角是nova系列
  10. Spring容器创建流程(5)bean后置处理之注册
  11. Redis实战篇(视频学习来自黑马程序员)
  12. 如何看旷视南京负责人魏秀参跳槽高校工作?
  13. google hacking 搜索技巧
  14. 重大噩耗:苹果账号无法付款!(11-20更新:账单地址和卡地址一样,信用卡名字和开发者名字一致,都无法付款)
  15. dB dBm概念及计算
  16. Unity Bounds 边界框(包围盒)
  17. 手机OA是什么?有何优点?
  18. 宏康 HY17 时钟 串口
  19. Types of Data
  20. 华章1-2月份新书简介(2017年)

热门文章

  1. C# winform 捕获全局异常
  2. 阿里开发者们的第18个感悟:每次困难出现时,就是成长的机会出现了
  3. git/github的使用
  4. 同步vmware虚拟机与宿主机的时间
  5. 系统设计 - 使用面向 iOS 的本机插件扩展
  6. unix_timestamp 时间戳函数用法(hive)
  7. linux内核中的数据结构
  8. 『中级篇』docker之虚拟机创建vagrant技巧(番外篇)(81)
  9. 初入数据科学领域,你需要有七个这样的思维
  10. onMeasure模式