0%

PAT A1005 Spell It Right

题目链接

数组解法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
string strs[]={"zero","one","two","three","four","five","six","seven","eight","nine"};

int main(){
string s;
cin>>s;
int sum=0;
int len=s.length();
for(int i=0;i<len;i++){
sum+=(s[i]-'0'); //转为整数
}
stringstream ss;
ss<<sum;
s=ss.str();
len=s.length();
for(int i=0;i<len;i++){
if(i!=0) cout<<" ";
cout<<strs[s[i]-'0'];//转为整数
}


return 0;
}

map解法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <string>
#include <map>
#define ll long long
using namespace std;
map<char,string> mmap;

int main() {
mmap['0'] = "zero"; mmap['1'] = "one"; mmap['2'] = "two";
mmap['3'] = "three"; mmap['4'] = "four"; mmap['5'] = "five";
mmap['6'] = "six"; mmap['7'] = "seven"; mmap['8'] = "eight";
mmap['9'] = "nine";
string s;
cin >> s;
int len = s.length();
ll sum = 0;
for (int i = 0; i < len; i++) {
sum += (s[i] - '0');
}
string ss = to_string(sum);
len = ss.length();
cout << mmap[ss[0]];
for (int i = 1; i < len;i++) {
cout << " " << mmap[ss[i]];
}
return 0;
}

本文标题:PAT A1005 Spell It Right

文章作者:GavinYGM

发布时间:2020年08月23日 - 17:08

最后更新:2020年08月23日 - 18:08

原始链接:http://www.gavinygm.cn/2020/08/23/PAT-A1005-Spell-It-Right/

许可协议: 转载请保留原文链接及作者。