PAT乙级1044. 火星数字(20)
来源:互联网 发布:微信加群 知乎 编辑:程序博客网 时间:2024/06/04 18:08
题目:
火星人是以13进制计数的:
- 地球人的0被火星人称为tret。
- 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。
- 火星人将进位以后的12个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou。
例如地球人的数字“29”翻译成火星文就是“hel mar”;而火星文“elo nov”对应地球数字“115”。为了方便交流,请你编写程序实现地球和火星数字之间的互译。
输入格式:
输入第一行给出一个正整数N(<100),随后N行,每行给出一个[0, 169)区间内的数字 —— 或者是地球文,或者是火星文。
输出格式:
对应输入的每一行,在一行中输出翻译后的另一种语言的数字。
输入样例:4295elo novtam输出样例:
hel marmay11513
思路:
1. 将转化后的内容用字符串数组存储,可与下标直接对应;
2. 使用getchar()函数是因为输入n之后的回车会被getline()函数读取,导致少一次输入,因此用getchar()来读取这一次回车;
3. 后面根据要求计算即可。
#include<iostream>#include<string>#include<cstdio>using namespace std;int main() { string m, f[101], q=""; string a[13] = {"tret", "jan", "feb", "mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec"}; string b[12] = {"tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mer", "jou"}; int n, i, j, l, p, r, number=0; cin>>n; getchar(); for (i=0; i<n; i++) getline(cin, f[i]); for (i=0; i<n; i++) { m = f[i]; if (m[0]<='9' && m[0]>='0') { for (j=0; j<m.length(); j++) number = number*10 + (m[j]-'0'); if (number < 13) cout<<a[number]; else { p = number/13; r = number%13; if (r == 0) cout<<b[p-1]; else cout<<b[p-1]<<" "<<a[r]; } } else { for (j=0; j<m.length(); j=j+4) { q = q + m[j] + m[j+1] + m[j+2]; for (l=0; l<13; l++) { if (q == a[l]) number += l; if (q == b[l]) number += (l+1)*13; } q = ""; } cout<<number; } number = 0; cout<<endl; } return 0;}
阅读全文
0 0
- PAT 乙级 1044. 火星数字(20)
- 1044. 火星数字(20)-PAT乙级
- PAT 乙级 1044. 火星数字(20)
- PAT乙级 1044. 火星数字(20)
- PAT乙级 1044. 火星数字(20)
- [PAT乙级]1044. 火星数字(20)
- PAT乙级1044. 火星数字(20)
- pat 乙级 1044. 火星数字(20)
- PAT乙级1044. 火星数字(20)
- PAT乙级1044. 火星数字(20)
- [PAT-乙级]1044.火星数字
- PAT乙级—1044. 火星数字(20)-native
- 1044. 火星数字(20)-PAT乙级真题
- PAT 乙级 1044. 火星数字(20) Java版
- 1044. 火星数字(20) PAT乙级真题
- PAT乙级1044 火星数字
- 1044. 火星数字(20)PAT乙级&&1100. Mars Numbers (20)PAT甲级
- 【PAT】1044. 火星数字(20)
- 调用百度地图出现的自动创建完成对象会清空输入框值的问题
- 2016.09-2017.08 一年总结 浪来浪去
- 再说ORACLE树查询
- 国内第一本详解云GIS技术的参考书籍《云GIS技术与实践》
- VC共享内存实现进程间数据的交换
- PAT乙级1044. 火星数字(20)
- [笔记分享] [SCons] Qualcomm SCons之架构
- MySQL高可用介绍4-Mysql主从同步+DRBD+heartbeat
- 金蝶K3系统的网络服务端口
- Linux常用20大指令
- Hibernate之多对多双向关联(比较少用)
- 选择排序
- 史上最全最强SpringMVC详细示例实战教程
- 次短路模板