首先 n這個數很大 不可能用int long這種取存放ios
而是把它看做字符串 用字符數組去存數組
其次 爲了代碼重用 另外構造函數函數
用switch語句 重溫switch語句的格式spa
記得每一個語句後面添加break;code
附上完整代碼blog
#include <iostream> #include <cstring> using namespace std; void num(int k) { switch(k) { case 0:cout<<"ling"; break; 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; } } int main() { int t=0,l,m,n; char x[101]; cin>>x; int i=0; while(x[i]!='\0') { t+=x[i]-'0'; i++; } l=t/100; m=(t-l*100)/10; n=t%10; if(l!=0) { num(l); cout<<" "; num(m); cout<<" "; num(n); } else if(m!=0) { num(m); cout<<" "; num(n); } else num(n); }