\quad这个题稍微有点麻烦,需要分别处理数字转火星文和火星文转数字两种情况。不过数字最高两位,处理起来分别讨论即可。程序如下:

#include <iostream>
using namespace std;
string one[13] = {"tret", "jan", "feb", "mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec"};
string two[13] = {"", "tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mer", "jou"};
void num2Mars(string s)
{int n;sscanf(s.c_str(), "%d", &n);int high=n/13, low=n%13;if(high!=0 && low!=0) cout << two[high] << " " << one[low] << endl;else if(high!=0 && low==0) cout << two[high] << endl;else cout << one[low] << endl;return;
}
void Mars2Num(string s)
{int res = 0;int index = s.find(' ');string high = s.substr(0, index), low = s.substr(index+1);for (int i = 1; i < 13; ++i){if(high==two[i]) res += i*13;}for (int i = 0; i < 13; ++i){if(low==one[i]) res += i;}cout << res << endl;return;
}
int main(int argc, char const *argv[])
{int n; cin >> n; getchar();string s;while(n--){getline(cin, s);if(s[0]>='0' && s[0]<='9') num2Mars(s);else Mars2Num(s);}return 0;
}

PAT甲级1100 Mars Numbers (20 分)题解相关推荐

  1. PAT甲级1100 Mars Numbers:[C++题解]进制位、使用stringstream类读入

    文章目录 题目分析 题目分析 分析: 使用char型二维数组 names[][5] 存储这些 火星文. ac代码 #include<iostream> #include<sstrea ...

  2. 【PAT甲级 火星数字】1100 Mars Numbers (20 分)Java 全部AC

    题目 提交Java的时候,千万不要写第一行的包名称!!被这个bug折腾了一个小时.. 题解1:Java import java.util.ArrayList; import java.util.Lis ...

  3. 1100 Mars Numbers (20 分)【难度: 一般 / 知识点: 模拟】

    https://pintia.cn/problem-sets/994805342720868352/problems/994805367156883456 乙级的原题.. #include<bi ...

  4. 1100 Mars Numbers (20分)

    这类题目是C++标准模板库的使用,是重点知识. 题目描述如下: 题目大致意思与大致思路: 这道题目其实就是一道10进制与13进制之间的进制转换的题目,如果输入的是10进制,则将十进制转换为13进制,根 ...

  5. PAT_(STL使用)map-1100 Mars Numbers (20分)-1054 The Dominant Color (20分)-1071-1022

    目录 1100 Mars Numbers (20分) 1054 The Dominant Color (20分) 1071 Speech Patterns (25分) 1022 Digital Lib ...

  6. PAT甲级1120 Friend Numbers:[C++题解]set去重且有序

    文章目录 题目分析 题目链接 题目分析 来源:acwing 对于每个数,统计各位之和,判断有多少个不同的和,然后从小到大输出. 什么数据结构既能去重,又能排序呢? 答案就是set!!! 关于set的介 ...

  7. PAT 1100. Mars Numbers (20)

    People on Mars count their numbers with base 13: Zero on Earth is called "tret" on Mars. T ...

  8. PAT甲级 -- 1050 String Subtraction (20 分)

    Given two strings S​1​​ and S​2​​, S=S​1​​−S​2​​ is defined to be the remaining string after taking ...

  9. PAT甲级题解-1100. Mars Numbers (20)-字符串处理

    没什么好说的,注意字符串的处理,以及当数字是13的倍数时,只需高位叫法的单词.比如26,是"hel",而不是"hel tret". 代码: #include & ...

最新文章

  1. INSTALL_FAILED_MISSING_SHARED_LIBRARY + Installation failed due to: ‘null‘
  2. windows RabbitMq 安装
  3. 【小松教你手游开发】【unity实用技能】计算目标物体是否在自己的扇形视野范围...
  4. webRTC——浏览器里的音视频通话
  5. 熊猫烧香变种病毒分析
  6. Scala集合体系:可变集合和不可变集合
  7. datax调研及增量更新的思路
  8. 可以节约很多代码的几个正则表达式
  9. c#和python同一主机直接udp_为什么Python 如此之慢
  10. html盒子有哪些属性,盒子模型有哪些属性 在html5中哪些元素具有盒子模型
  11. Airflow 中文文档:用Celery扩大规模
  12. sql select distinct常见错误_这8种常见的SQL错误用法,80%的程序员还在犯
  13. 时序分析基本概念介绍<AOCV>
  14. jquery捕捉ctrl+enter(回车)事件
  15. 如何在linux下运行php脚本,如何通过Linux命令行使用和运行PHP脚本
  16. sklearn特征选择类库使用小结
  17. PL/SQL详细的安装和配置教程(附带网盘下载链接,以及PL/SQL的基本操作与注意事项)
  18. 绘图用计算机软件的基本种类有,主编教您电脑绘图软件有哪些
  19. python自动化测试—Python自动化框架及工具
  20. Oracle 12c 新特性之 数据库内归档(In-Database Archiving)

热门文章

  1. matlab hold on解释,Matlab中的hold on 怎么不起作用了啊?程序如下:
  2. Linux系统/etc/fstab文件损坏如何处理
  3. 百度数据实习生面试经历—2019.4.15
  4. 机器视觉工程师前景如何,计算机视觉工程师前景
  5. 阿龙学堂-VUE面试总结
  6. HashMap面试常问问题
  7. linux脚本创建快捷方式,批处理BAT创建快捷方式
  8. 遇见2016年最值得期待的新产品
  9. 2020-03-05
  10. 智能家居系统的开源尝试