题目传送门

介绍一种使用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;
}
05-16 07:47