首页 > 其他 > 详细

题解 AT859 【元素の系統名】

时间:2020-02-27 14:43:55      阅读:58      评论:0      收藏:0      [点我收藏+]

题目传送门

介绍一种使用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 【元素の系統名】

原文:https://www.cnblogs.com/tearing/p/12371881.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!