满分简便解法:1002 写出这个数 (20分)
生活随笔
收集整理的這篇文章主要介紹了
满分简便解法:1002 写出这个数 (20分)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
立志用更少的代碼做更高效的表達
Pat乙級題解匯總——>傳送門
讀入一個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:
每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這里保證 n 小于 10100
?? 。
輸出格式:
在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最后一個拼音數字后沒有空格。
輸入樣例:
1234567890987654321123456789
輸出樣例:
yi san wu
我的解法:
1、數字對應拼音的常量數組
2、輸入后按位數拆分,輸出對應的拼音, 存入vector
3、逆序輸出vector
代碼展示
#include<iostream> #include<vector> using namespace std; string ss[10] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"}; vector<string>v; void zhuan(long long num) {int T = 0;while(num) {int len = num%10;if(T != 0) putchar(' ');v.push_back(ss[len]);num /= 10;} } int main() {string s; cin>>s;int len = s.length();long long num = 0;for(int i = 0; i < len; i++) {num += (long long)(s[i]-'0');}zhuan(num);int len1 = v.size();for(int i = len1-1; i >= 0; i--) {if(i != len1-1) putchar(' ');cout << v[i];} return 0; }每日一句
勝敗乃兵家常事,失敗并不可怕,可怕的是心氣兒敗了。
總結
以上是生活随笔為你收集整理的满分简便解法:1002 写出这个数 (20分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 极简代码:害死人不偿命的(3n+1)猜想
- 下一篇: 简便解法:1004 成绩排名 (20分)