1002 寫出這個數 (20 分)
阿新 • • 發佈:2018-12-14
讀入一個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:
每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10^100。
輸出格式:
在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最後一個拼音數字後沒有空格。
輸入樣例:
1234567890987654321123456789
輸出樣例:
yi san wu
題意:
水題。 唯一要注意的就是給出的自然數n會很大很大很大,所以可以用字元來接收這個大數。
程式碼:
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int main() { char c; long sum=0; while(true) { c=getchar(); if(c=='\n')break; //如果輸入的是回車,那麼說明n輸入結束,就退出迴圈 sum=sum+(c-'0'); } int num[100007]; int index=0; while(sum!=0) { num[index]=sum%10; sum/=10; index++; } for(int i=index-1;i>=0;i--) { switch(num[i]) { case 0: printf("ling"); break; case 1: printf("yi"); break; case 2: printf("er"); break; case 3: printf("san"); break; case 4: printf("si"); break; case 5: printf("wu"); break; case 6: printf("liu"); break; case 7: printf("qi"); break; case 8: printf("ba"); break; case 9: printf("jiu"); break; } if(i!=0) printf(" "); //行尾不能有空格 } return 0; }