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?
#include <iostream> #include <cstring> using namespace std;char num[10][15] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; char cc[200], nn[200]; int sum = 0; int ct = 0;int main() {scanf("%s", cc);int len = strlen(cc); //字符串長度for(int i = 0; i < len; i++){sum += cc[i]-'0'; //轉數字}if(sum == 0) printf("%s", num[0]);while(sum != 0){nn[ct++] = (sum%10) + '0';sum /= 10;}for(int i = ct - 1; i >= 0; i--){if(i!=0)printf("%s ",num[nn[i]-'0']);elseprintf("%s",num[nn[i]-'0']);}return 0; }?注意點:
1.字符轉數字 -‘0’ ?,數字轉字符 +‘0’
總結
以上是生活随笔為你收集整理的PAT甲级 -- 1005 Spell It Right (20 分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode--53. 最大子序和
- 下一篇: PAT甲级 -- 1041 Be Uni