【PAT】【C++】讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
阿新 • • 發佈:2019-02-15
讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。
輸出格式:在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後一個拼音數字後沒有空格。
輸入樣例:1234567890987654321123456789輸出樣例:
yi san wu
#include<iostream> using namespace std; void int_pinyin(int a){ switch(a){ 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(){ char a[101]; cin>>a; int sum=0,i=0; while(a[i]!='\0'){ sum+=a[i]-'0'; ++i; } //cout<<sum<<"\n"; int b[11],j=0; if(sum==0){ int_pinyin(0); return 0; } while(sum!=0){ b[j]=sum%10; //cout<<b[j]<<" "; sum=sum/10; ++j; } for(int i=j-1;i>0;--i){ int_pinyin(b[i]); cout<<" "; } int_pinyin(b[0]); return 0; }