1. 题目

PAT (Basic Level) Practice (中文): 1002

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

1.1. 输入格式:

每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 $10^{100}$。

1.2. 输出格式:

在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

1.3. 输入样例:

1234567890987654321123456789

1.4. 输出样例:

yi san wu

2. 作答

2.1. 代码

#include "stdio.h"
#include "string.h"
int cn(int n) {
    switch (n) {
        case 0 : printf("ling"); break;
        case 1 : printf("yi"); break;
        case 2 : printf("er"); break;
        case 3 : printf("san"); break;
        case 4 : printf("si"); break;
        case 5 : printf("wu"); break;
        case 6 : printf("liu"); break;
        case 7 : printf("qi"); break;
        case 8 : printf("ba"); break;
        case 9 : printf("jiu"); break;
    }
    return 0;
}

int pr(long long n){
    if (n<10) {
        cn(n); return 0;
    }
    pr(n/10);
    printf(" ");
    cn(n%10);
}

int main(int argc, char *argv[]) {
    char s[200];
    scanf("%s", s);
    int i;
    long long tot = 0;
    for(i = 0; i < strlen(s); ++i) {
        tot = tot + s[i] - '0';
    }
    pr(tot);
    return 0;
}

2.2. 评测结果

提交时间 状态 分数 题目 编译器 耗时 用户
2019/3/7 13:14:27 答案正确 20 1002 C (gcc) 2 ms soulans
测试点 结果 耗时 内存
0 答案正确 2 ms 256 KB
1 答案正确 2 ms 256 KB
2 答案正确 2 ms 360 KB
3 答案正确 1 ms 256 KB
4 答案正确 1 ms 256 KB
5 答案正确 1 ms 256 KB