哈希表定义在全局区报错了,具体原因我不知道。
这道题,还是很简单的:题目给我们一个数字,将其每位上的数字加起来,然后换成拼音输出。
ps.防止越界我们把给题目给我们的数字当成字符串来进行操作。
#include<bits/stdc++.h>
using namespace std;
int main(){
unordered_map<char,string> hash{{'0',"zero"},{'1',"one"},{'2',"two"},{'3',"three"},
{'4',"four"},{'5',"five"},{'6',"six"},{'7',"seven"},
{'8',"eight"},{'9',"nine"}};
string s;
cin>>s;
int sum=0;
for(char &c:s) sum+=c-'0';
s=to_string(sum);
cout<<hash[s[0]];
for(int i=1;i<s.size();i++) cout<<' '<<hash[s[i]];
return 0;
}