写出这个数 (20分)
总结:
- 利用string数组,在输出时进行对应的拼音转换。
- 最高100个9相加,三位数。注意, 两位数百位不显示0,一位数百位、十位不显示。
代码:
#include <iostream>
#include <cstring>
using namespace std;
int main(){
string num[10]={"ling","yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
string s;
cin >> s;
int sum = 0; //100位9相加 最大为900
for(int i=0; i<s.length(); i++){
sum += (s[i]-'0');
}
//最多三位数 从百位开始输出
if( sum/100 ){
cout<<num[ sum/100 ]<<" ";
sum %= 100;
cout<<num[ sum/10 ]<<" ";
}else {
sum %= 100;
if( sum/10 ){
cout<<num[ sum/10 ]<<" ";
}
}
cout<<num[ sum%10 ];
return 0;
}