读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 1。
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
1234567890987654321123456789
yi san wu
#include<iostream> #include<stack> using namespace std; int main() { string s; int sum=0; stack<int> sta; cin>>s; for(int i=0;i<s.length();i++){ sum+=(s[i]-‘0‘); } while(sum!=0){ sta.push(sum%10); sum/=10; } while(!sta.empty()){ switch(sta.top()){ case 1:cout<<"yi";break; case 2:cout<<"er";break; case 3:cout<<"san";break; case 4:cout<<"si";break; case 5:cout<<"wu";break; case 6:cout<<"liu";break; case 7:cout<<"qi";break; case 8:cout<<"ba";break; case 9:cout<<"jiu";break; case 0:cout<<"ling";break; } if(sta.size()!=1) cout<<" "; sta.pop(); } system("pause"); return 0; }
原文:https://www.cnblogs.com/littlepage/p/11297078.html