演算法學習之路|寫出這個數(20)
讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。
輸出格式:在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後一個拼音數字後沒有空格。
輸入樣例:
1234567890987654321123456789
輸出樣例:
yi san wu
思路:
把每一部分功能函式化,
sum()函式負責錄入並計算錄入數的和。
retpin()函式接收一個數(0~9),返回這個數的拼音string。
printpin()函式負責接收一個數(全部整數),把這個數的每一位以拼音形式輸出。
利用這三個函式解題即可。
#include<iostream>
#include<stack>
#include <vector>
using namespace std;
int sum(void){
char ch;
int count=0;
ch=getchar();
while(1){
count+=ch-48;
ch=getchar();
if(ch==`
`)
break;
}
return count;
}
string retpin(int n){
vector<string> v ={"ling","yi","er","san","si","wu",
"liu","qi","ba","jiu"};
if (n==0) {
return v[0];
}
if (n==1) {
return v[1];
}
if (n==2) {
return v[2];
}
if (n==3) {
return v[3];
}
if (n==4) {
return v[4];
}
if (n==5) {
return v[5];
}
if (n==6) {
return v[6];
}
if (n==7) {
return v[7];
}
if (n==8) {
return v[8];
}
else {
return v[9];
}
}
void printpin(int number){
int i=number%10;
number/=10;
stack<string> v;
while(i!=0||number!=0){
v.push(retpin(i));
i=number%10;
number/=10;
}
while(1){
cout<<v.top();
v.pop();
if(v.empty())
break;
cout<<" ";
}
}
int main(){
printpin(sum());
}
相關文章
- 1002 寫出這個數 (20 分)javaJava
- B1002 寫出這個數 (20分)
- [PAT B] 1002 寫出這個數
- Python學習之路20-資料模型Python模型
- PAT-B 1002 寫出這個數 【字串+遞迴列印】字串遞迴
- 強化學習之路一 QLearning 演算法強化學習演算法
- Rust學習之旅1——寫個猜數字遊戲Rust遊戲
- 寫一個函式,輸入一個4位數字,要求輸出這4個數字字元函式字元
- 自己寫個網盤系列:① 來學習開啟這個專案吧
- 小白機器學習基礎演算法學習必經之路(下)機器學習演算法
- 【演算法學習】組合數學演算法
- 微控制器小白學習之路(三十二)---DS18B20數字溫度計(三)
- RxJS的學習之路三(建立一個Observable)JS
- eggjs學習之路JS
- java學習之路Java
- Pytest學習之路
- golang學習之路之函式可變引數Golang函式
- 機器學習&深度學習之路機器學習深度學習
- 【演算法學習筆記】Meissel-Lehmer 演算法 (亞線性時間找出素數個數)演算法筆記
- 一個企業網管的Linux學習之路Linux
- 機器學習成才之路:這是一條GitHub高讚的學習路徑機器學習Github
- 深度學習之輸入通道個數、卷積核通道個數,卷積核個數、輸出通道個數的關係深度學習卷積
- 付費學習之路
- 產品學習之路
- vue-學習之路Vue
- 信安學習之路
- web前端學習之路Web前端
- linux學習之路(1)Linux
- 凡人學習Linux之路Linux
- Python 學習之路(下)Python
- go學習之路 --- 起步Go
- 20 個值得學習的 Vue 開源專案Vue
- 演算法學習筆記(40): 具體數學演算法筆記
- 【演算法學習】數學專題 有理數類别範本演算法
- 寫在學習golang一個月後Golang
- wasm 學習筆記,寫個求和demoASM筆記
- 5/20學習程序
- 【機器學習】手寫數字識別機器學習
- FPGA 學習之路:verilog學習第5天FPGA