火星人是以 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) 区间内的数字 —— 或者是地球文,或者是火星文。

输出格式:

对应输入的每一行,在一行中输出翻译后的另一种语言的数字。

输入样例:

4
29
5
elo nov
tam

输出样例:

hel mar
may
115
13

注意:一开始输入回车要用getchar接收一下,能被13整除的时候直接输出高位,不用再输出0的火星文

#include <iostream>
#include <string>
using namespace std;int main()
{string low[] = {"","jan","feb","mar","apr","may","jun","jly","aug","sep","oct","nov","dec"};string high[] = {"","tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mer","jou"};int n;cin >> n;getchar();string s;for(int i = 0; i < n; i++){getline(cin, s);if(s[0] >= '0' && s[0] <= '9')//数字转火星文{int num = stoi(s);if(num == 0) cout << "tret" << endl;//0单独处理else{if(num % 13 == 0) cout << high[num/13] << endl;//能被13整除的情况else//其余情况,又分小于13和大于13的情况{if(num < 13) cout << low[num%13] << endl;else if(num > 13) cout << high[num/13] << " " << low[num%13]<<endl;}}}else//火星文转数字{if(s.length() == 4) cout << 0 << endl;else if(s.length() == 3){for(int i = 1; i <= 12; i++){if(low[i] == s){cout << i << endl;break;}else if(high[i] == s){cout << 13 * i << endl;break;}}}else{int sum = 0;string s1 = s.substr(0, 3);string s2 = s.substr(4, 7);for(int i = 1; i <= 12; i++){if(high[i] == s1) sum += 13 * i;if(low[i] == s2) sum += i;}cout << sum << endl;}}}return 0;
}

1044 火星数字 (20point(s))相关推荐

  1. 1044. 火星数字(20)

    1044. 火星数字(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 火星人是以13进制计数的: 地球人的 ...

  2. PAT 1044. 火星数字

    PAT 1044. 火星数字 火星人是以13进制计数的: 地球人的0被火星人称为tret. 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, au ...

  3. 【PAT乙】1044 火星数字 (20分)

    1044 火星数字 (20分) 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, ju ...

  4. PAT 乙级 1044  火星数字

    1044 火星数字 (20 point(s)) 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, ...

  5. 1044 火星数字 ——c实现

    1044 火星数字 (20 分) 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, j ...

  6. 1044 火星数字 (20 分)

    1044 火星数字 (20 分) 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, j ...

  7. PAT乙级 1044 火星数字 (20分)

    1044 火星数字 (20分) 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, ju ...

  8. PAT(B) 1044 火星数字(Java)进制转换

    题目链接:1044 火星数字 (20 point(s)) 题目描述 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, ...

  9. 【全网最细PAT题解】【PAT乙】1044 火星数字(测试点2,测试点4详细解释)

    题目链接 1044 火星数字 题目描述 火星人是以 13 进制计数的:地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, ...

最新文章

  1. [转]FINDSTR正则表达式小结
  2. 通过SEH 非inline hook
  3. 【AI呀,我去】科技圈顶流——元宇宙上线,快来揭开它的神秘面纱
  4. 数组list操作,切片
  5. java 多态与重载的区别_java实现多态 方法的重写和重载的区别
  6. html是一种用于创建网页的标准标记语言,html
  7. WebView断网提示
  8. 安装Linux虚拟机(一)
  9. Linux下Socket编程的端口问题( Bind error: Address already in use )
  10. [Html]Jekyll 代码高亮的几种选择
  11. 安装软件提示计算机管理员权限,win10安装软件需要管理员权限的处理办法|win10装软件提示error launching installer如何处理?...
  12. html5全栈工程师招聘,蓝鸥HTML5全栈工程师 高薪就业的利器
  13. 什么是电压跟随器?电压跟随器计算方法讲解
  14. matlab中洛伦兹拟合,基于MATLAB洛伦兹线型非线性拟合算法实现
  15. .net core 不能更新数据
  16. JQuery【选择器】
  17. html5 点灯游戏,夜点灯剧情讲了什么 夜点灯游戏剧情背景介绍-游侠网
  18. ElasticFusion离线数据集运行结果再现问题总结
  19. HTML5画布谐振子
  20. Qt5包含头文件error: C1083: 无法打开包括文件

热门文章

  1. 微信公众号授权登录vue移动端项目
  2. jquery html 清除样式,jquery怎么移除css样式
  3. 这孩子能成为一名优秀程序员
  4. 六自由度机器人半实物实验平台
  5. Python 配置豆瓣镜像源
  6. UE5像素流Pixstream安卓1080p画质相当nice,有点费N卡
  7. 卡通动物氦气箔聚酯薄膜气球的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  8. 申请一个带表情的个性网站
  9. Centos安装git
  10. JS中绑定事件的5种方式——以按钮绑定点击事件为例