原文链接
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
cin>>s;
int sum = 0;
string str[10] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
for ( int i = 0 ; i < s.length(); i++)
sum += s[i] - '0';
string num = to_string(sum);
for ( int i = 0 ; i < num.length(); i ++){
if ( i != 0 ) cout<<" ";
cout<<str[num[i] - '0'];
}
return 0;
}
思路解析
这道题应该是考查类型转换问题
- 让输入的string类型
s
转换为int类型sum
输入的s为字符串类型,可以直接通过下标来获取单个字符s[i],再减去ASCII码中的字符’0’就得到了int类型
- 再让int类型
sum
转换为string类型num
以便获取对应的拼音可直接使用to_string()函数,将int类型转换为string类型
- 输出时获取string类型的单个字符同步骤1