蓝桥杯-地址格式转换

来源:互联网 发布:windows api函数 编辑:程序博客网 时间:2024/05/20 08:25
  • 题目

【编程题】

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

  • 代码
import java.util.Scanner;public class AddressConvet {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int N = sc.nextInt();        for(int i=0;i<N;i++) {            String[] s = sc.next().trim().split("[RC]");            int m = Integer.parseInt(s[1]);            int n = Integer.parseInt(s[2]);            System.out.println(convert(n, m));        }    }    static String convert(int n, int m) {        StringBuilder s = new StringBuilder(""+m);        while(n!=0) {            if(n%26==0) {                s.append('Z');                n = n/26 - 1;            }else {                s.append((char)(n%26 + 64));                n = n/26;            }        }        return s.reverse().toString();    }}
  • 结果
1R2C2600CUZ2
0 0
原创粉丝点击