一、题目描述
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
本题建议把自然数n以字符串的形式输入,然后通过切片计算求和,难点可能在于这个求和结果如何转换成字符串的形式,这里我们通过C++的sstream头文件来进行转换,示例如下
#include #include #include using namespace std; int main() { int n = 123; //整数型--123 stringstream ss; string str; ss << n; ss >> str; cout << str << endl; //字符串“123” return 0; }
三、代码
#include #include #include using namespace std; string num[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; int main() { string s; cin>>s; int l = s.length(); int sum = 0; for(int i=0;i<l;i++) { sum += s[i] - '0'; } stringstream ss; string str; ss << sum; ss >> str; int ll = str.length(); for(int i=0;i<ll;i++) { cout<<num[str[i]-'0']; if(i!=ll-1) cout<<" "; //这是个小坑,最后一位数之后不能输出空格, //否则会导致输出的结果有格式错误 } cout<<endl; return 0; }
