【PAT - 甲级1005】Spell It Right (20分) (递归输出,水题)
生活随笔
收集整理的這篇文章主要介紹了
【PAT - 甲级1005】Spell It Right (20分) (递归输出,水题)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題干:
Given a non-negative integer?N, your task is to compute the sum of all the digits of?N, and output every digit of the sum in English.
Input Specification:
Each input file contains one test case. Each case occupies one line which contains an?N?(≤10?100??).
Output Specification:
For each test case, output in one line the digits of the sum in English words. There must be one space between two consecutive words, but no extra space at the end of a line.
Sample Input:
12345Sample Output:
one five解題報告:
考察就是遞歸輸出而已。注意輸出格式的控制。
AC代碼:
#include<cstdio> #include<iostream> #include<algorithm> #include<queue> #include<stack> #include<map> #include<vector> #include<set> #include<string> #include<cmath> #include<cstring> #define FF first #define SS second #define ll long long #define pb push_back #define pm make_pair using namespace std; typedef pair<int,int> PII; const int MAX = 2e5 + 5; ll ans; char s[MAX]; char db[10][102] = {"zero","one","two","three","four","five","six","seven","eight","nine"}; void out(ll x) {if(x <= 9) printf("%s",db[x]);else {out(x/10); printf(" %s",db[x%10]);} } int main() {cin>>s+1;int len = strlen(s+1);for(int i = 1; i<=len; i++) {ans += s[i] - '0';}out(ans);return 0; }?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的【PAT - 甲级1005】Spell It Right (20分) (递归输出,水题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 申请信用卡填假资料的后果 申请信用卡可以
- 下一篇: 我国的经济成就令人眼红,引来多国学习,其