PAT A급 1005 Spell It Right(20점) 문제 전달

5033 단어 PAT A급
1005 Spell It Right(20분)
Time limit: 400 ms
Memory limit: 64 MB
Source limit: 16 KB
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
Each input file contains one test case. Each case occupies one line which contains an N   ( ≤ 1 0 100 ) N\(≤10^{100}) N (≤10100).
Output
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.
Example
input
12345
output
one five
생각:
수납장getchar 한 글자씩 숫자를 읽고 이용한다.변수는 모든 숫자의 합을 저장합니다.마지막으로 귀속을 이용하여 출력한다sum 영어로 전환한 결과.
참조 코드:
#include 
const char* s[] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
void print(int N) {
    if (N > 10) print(N / 10);
    printf("%s%s", N != N % 10 ? " " : "", s[N % 10]);
}
int main() {
    int ch, sum = 0;
    while ((ch = getchar()) != '
'
) sum += ch - '0'; print(sum); return 0; }

좋은 웹페이지 즐겨찾기