L1-007 念数字 (10分) (13行代码AC!!)
生活随笔
收集整理的這篇文章主要介紹了
L1-007 念数字 (10分) (13行代码AC!!)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
立志用更少的代碼做更高效的表達
輸入一個整數,輸出每個數字對應的拼音。當整數為負數時,先輸出fu字。十個數字對應的拼音如下:
0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu
輸入格式:
輸入在一行中給出一個整數,如:1234。
提示:整數包括負數、零和正數。
>輸出格式:
在一行中輸出這個整數對應的拼音,每個數字的拼音之間用空格分開,行末沒有最后的空格。如 yi er san si。
輸入樣例:
-600
輸出樣例:
fu liu ling ling
思路分析
由于本題為水題, 因此思路從解題轉向優化。
本題我打算用常量數組做, 定義一個字符數組,每個數字對應其拼音。
將輸入數字設置成字符串, 先特判負號, 再對輸入的數字逐個判斷并輸出即可。
要注意格式千萬別弄錯, 最后一個輸出后面是沒有空格的。
代碼展示
#include<iostream> using namespace std; string t[10] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"}; int main() {string s; cin>>s;int len = s.length();int i = 0;if(s[0] == '-') { cout << "fu "; i = 1; }for( ; i < len; i++) { cout << t[s[i]-48];if(i != len-1) putchar(' ');} return 0; }最近在備考天梯賽, 團體程序設計天梯賽-練習集刷題中, 請持續關注哦~
總結
以上是生活随笔為你收集整理的L1-007 念数字 (10分) (13行代码AC!!)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU-4850 Wow! Such S
- 下一篇: L1-008 求整数段和(解题报告 C