题目传送门

介绍一种使用string字符串的方法。

\(string\)是\(C++\)、\(java\)、\(VB\)等编程语言中的字符串,字符串是一个特殊的对象,属于引用类型。 \(C++\)标准库中\(string\)类以类型的形式对字符串进行封装,且包含了字符序列的处理操作。——百度百科

思路:

  1. 初步想法:

    我们可以定义一个字符串,然后逐位输出对应的原子序数。

  2. 定义一个字符串s,并输入。

	string s;
cin>>s;
  1. 按照百位->十位->个位的顺序进行判断&输出:先判断百位并输出。
	if(s[0]=='0')cout<<"Nil";
if(s[0]=='1')cout<<"Un";
if(s[0]=='2')cout<<"Bi";
if(s[0]=='3')cout<<"Tri";
if(s[0]=='4')cout<<"Quad";
if(s[0]=='5')cout<<"Pent";
if(s[0]=='6')cout<<"Hex";
if(s[0]=='7')cout<<"Sept";
if(s[0]=='8')cout<<"Oct";
if(s[0]=='9')cout<<"Enn";
  1. 判断十位并输出。注意,这里有一些坑点需要注意。
	if(s[1]=='0' && s[0]!='9')cout<<"nil";
if(s[1]=='0' && s[0]=='9')cout<<"il";
if(s[1]=='1')cout<<"un";
if(s[1]=='2')cout<<"bi";
if(s[1]=='3')cout<<"tri";
if(s[1]=='4')cout<<"quad";
if(s[1]=='5')cout<<"pent";
if(s[1]=='6')cout<<"hex";
if(s[1]=='7')cout<<"sept";
if(s[1]=='8')cout<<"oct";
if(s[1]=='9')cout<<"enn";
  1. 最后判断个位并输出。
	if(s[2]=='0' && s[1]!='9')cout<<"nil";
if(s[2]=='0' && s[1]=='9')cout<<"il";
if(s[2]=='1')cout<<"un";
if(s[2]=='2')cout<<"bi";
if(s[2]=='3')cout<<"tri";
if(s[2]=='4')cout<<"quad";
if(s[2]=='5')cout<<"pent";
if(s[2]=='6')cout<<"hex";
if(s[2]=='7')cout<<"sept";
if(s[2]=='8')cout<<"oct";
if(s[2]=='9')cout<<"enn";
  1. 输出最后的词尾。这里需要特判一下。
	if(s[2]=='2' || s[2]=='3')cout<<"um";
else cout<<"ium";

代码实现:

#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin>>s;
//--------百位--------
if(s[0]=='0')cout<<"Nil";
if(s[0]=='1')cout<<"Un";
if(s[0]=='2')cout<<"Bi";
if(s[0]=='3')cout<<"Tri";
if(s[0]=='4')cout<<"Quad";
if(s[0]=='5')cout<<"Pent";
if(s[0]=='6')cout<<"Hex";
if(s[0]=='7')cout<<"Sept";
if(s[0]=='8')cout<<"Oct";
if(s[0]=='9')cout<<"Enn";
//--------十位--------
if(s[1]=='0' && s[0]!='9')cout<<"nil";
if(s[1]=='0' && s[0]=='9')cout<<"il";
if(s[1]=='1')cout<<"un";
if(s[1]=='2')cout<<"bi";
if(s[1]=='3')cout<<"tri";
if(s[1]=='4')cout<<"quad";
if(s[1]=='5')cout<<"pent";
if(s[1]=='6')cout<<"hex";
if(s[1]=='7')cout<<"sept";
if(s[1]=='8')cout<<"oct";
if(s[1]=='9')cout<<"enn";
//--------个位--------
if(s[2]=='0' && s[1]!='9')cout<<"nil";
if(s[2]=='0' && s[1]=='9')cout<<"il";
if(s[2]=='1')cout<<"un";
if(s[2]=='2')cout<<"bi";
if(s[2]=='3')cout<<"tri";
if(s[2]=='4')cout<<"quad";
if(s[2]=='5')cout<<"pent";
if(s[2]=='6')cout<<"hex";
if(s[2]=='7')cout<<"sept";
if(s[2]=='8')cout<<"oct";
if(s[2]=='9')cout<<"enn";
//--------尾数--------
if(s[2]=='2' || s[2]=='3')cout<<"um";
else cout<<"ium";
return 0;
}

题解 AT859 【元素の系統名】的更多相关文章

  1. 諾基亞定制的Android系統名為 Z Launcher

    N1這款產品似乎沒有諾基亞的傳統風格,搭載Android系統以及酷似iPad mini的外觀,都在向外界傳遞著一個信號:諾基亞在變化.不過,沒有了移動設備部門的諾基亞,仍然心系消費電子市場,N1會是個 ...

  2. Linux-PAM(Linux下的密碼認證和安全机制)系統管理員指南(中文版)

    he Linux-PAM 系统管理员指南作者:Andrew G. Morgan, morgan@linux.kernel.org翻译:孙国清(Thomas Sun),thomassun@yeah.ne ...

  3. oracle系統表、數據字典介紹與日常問題診斷

    oracle系統表.數據字典介紹與日常問題診斷 數據字典是由唯讀的table和view組成的,產生於$oracle_home\rdbms\admin\catalog.sql.裡面儲存Oracle資料庫 ...

  4. USB多重系統 - 開機碟工具 – WinSetupFromUSB

    WinSetupFromUSB下載與安裝 讓USB磁碟擁有多重開機的功能,WinSetupFromUSB有著提軟體和硬體的高相容性. [官方網頁]:http://www.winsetupfromusb ...

  5. WPF度量系統

    和Winform不同,WPF的度量單位不是像素,而是設備無關單位DIU,其大小總是1/96吋 那麽,WPF中一個寬度爲96的按鈕,到底是多少個像素呢? 答:取決於系統DPI. 計算公式爲:實際像素 = ...

  6. MQTT教學(二):安裝MQTT伺服器Mosquitto,Windows系統篇

    http://swf.com.tw/?p=1005 「認識MQTT」文章提到,MQTT的訊息全都透過稱為代理人(broker)的伺服器交流.本文將說明頗受歡迎的開放原始碼MQTT伺服器Mosquitt ...

  7. php 获取数组第一个元素 以及最后一个元素 && 最后一个元素的键名

    1. current() 函数返回数组中的当前元素的值. 每个数组中都有一个内部的指针指向它的"当前"元素,初始指向插入到数组中的第一个元素. end() - 将内部指针指向数组中 ...

  8. 各廠商ERP系統架構圖連結 (ERP流程圖)(轉)

    各廠商ERP系統架構圖連結 (ERP流程圖)   資料來源 Google圖片搜尋ERP整理而來 資通電腦 ArgoERP 資通電腦 Oracle ERP 鼎新電腦 Workflow ERP鼎新電腦 S ...

  9. 如何讓Android系統顯示CJK擴展區漢字

    由於一些特殊需要,需要在個人設備上顯示CJK擴展區漢字,經多方詢問並驗證,找到了一下辦法,暫總結如下. 一.電腦上顯示 在電腦(Windows,Linux,Mac等系統)上可以通過安裝「花園明朝字體」 ...

随机推荐

  1. 邓士鹏【MySql大全】

    禁止使用系统关键字: typename 1.计算两个日期的时间差函数 SELECT TIMESTAMPDIFF(MONTH,'2009-10-01','2009-09-01'); interval可是 ...

  2. python filter函数(40)

    一.filter函数简介 filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tuple,可以使用内置函数list() 或者内置函数tupl ...

  3. oracle中sql语句的to_date语法

    完整日期:TO_DATE('2009-4-28 00:00:00', 'yyyy-mm-dd hh24:mi:ss'); to_date('2008/09/20','yyyy/mm/dd') 创建视图 ...

  4. Linux基础:df命令总结

    本文只总结一些常用的用法,更详细的说明见man df和 df --help. df命令 df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计. df命令主要是从各文件系统的Super b ...

  5. 硬件知识整理part1--电阻E系列行业规范

      仁者,人心也,义者,人路也. --孟子 “ E ”表示“指数间距”(Exponential Spacing) 在上个20世纪的电子管时代,电子元器件厂商为了便于元件规格的管理和选用.大规模生产的电 ...

  6. 自动驾驶定位算法-直方图滤波(Histogram Filter)定位

    1.直方图滤波(Histogram Filter)的算法思想 直方图滤波的算法思想在于:它把整个状态空间dom(x(t))切分为互不相交的部分\(b_1.b_2....,b_{n-1}\),使得: 然 ...

  7. MS SQL为字段添加说明

    以ms sql server 14  v17为例. 如下表dbo.Q中有一个字段'' 首先在数据库的系统存储过程列表中: 找到sys.sp_addextendedproperty,使用这个为字段添加一 ...

  8. Wannafly Winter Camp 2020 Day 5F Inversion Pairs - 拉格朗日插值,dp

    给定 \(n \leq 10^7\),求所有 \(n\) 的全排列的逆序对个数的 \(k \leq 100\) 次方和 Solution \(f[i][j]\) 表示 \(i\) 个元素,逆序对个数为 ...

  9. Sikerio --《只狼》

    “狼啊,替我断绝不死吧”

  10. ffmpeg基本功能使用

    任务描述:由给定图像序列合成 24fps 视频 方案一 直接对图像进行操作,适用于图像名比较规范且默认即为所需顺序 ffmpeg -f image2 -i ./images_crop_%d.png - ...