PAT 甲级 A1082 (2019/02/14)13/25

Posted zjsaipplp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT 甲级 A1082 (2019/02/14)13/25相关的知识,希望对你有一定的参考价值。

#include<cstdio>
#include<cstring>
char strnumber[16][5] = {
    "ling", "yi", "er", "san", "si", "wu", "liu", "qi", 
    "ba", "jiu", "Ge", "Shi", "Bai", "Qian", "Wan", "Yi"
};
int main(){
    char str[16];
    scanf("%s", str);
    int len = strlen(str);
    int flag = 0;
    if(str[0] == '-') {
        printf("Fu");
        flag = 1;
    }
    //8132345680080898
    int Data[100], top = 0, start1, start2, start3, start4;
    start1 = start2 = start3 = start4 = 10; 
    int iswan, isqian, isyi, iswanyi;
    iswan = isqian = isyi = iswanyi = 0;
    for(int i = len-1; flag ? i > 0 : i >= 0; i--){
        if(len == 1){
            Data[top++] = str[i]- '0';
        }else if(i >= len - 4 && i <= len - 1){
            Data[top++] = start1++;
            Data[top++] = str[i] - '0';
        }else if(i >= len - 8 && i <= len - 5){
            if(iswan == 0){
                Data[top++] = 14;
                iswan = 1;
            }
            Data[top++] = start2++;
            Data[top++] = str[i] - '0';
        }else if(i >= len - 12 && i <= len - 9){
            if(isyi == 0){
                Data[top++] = 15;
                isyi = 1;
            }
            Data[top++] = start3++;
            Data[top++] = str[i] - '0';
        }else if(i >= len - 16 && i <= len - 13){
            if(iswanyi == 0){
                Data[top++] = 14;
                iswanyi = 1;
            }
            Data[top++] = start4++;
            Data[top++] = str[i] - '0';
        }   
    }
    int sign = 0;
    for(int i = top-1; i > 0; i = i - 1){
        if(Data[i] != 10){
            if(Data[i] == 0){
                i = i - 1;
                continue;   
            }
            if(i != top - 1 || str[0] == '-'){
                printf(" %s", strnumber[Data[i]]);
            }else{
                printf("%s", strnumber[Data[i]]);
            }
        }   
    }
    return 0;
}

千万亿 百万亿 十万亿 万亿 千亿 百亿 十亿 亿 千万 百万 十万 万 千 百 十 个

234 134 034 34 24 14 04 4 23 13 03 3 2 1 0

8132 3456 8008 0898

ba Qian yi Bai san Shi er Wan

san Qian si Bai wu Shi liu Yi

ba Qian ling ba Wan

ling ba Bai jiu Shi ba

8132345680080898

以上是关于PAT 甲级 A1082 (2019/02/14)13/25的主要内容,如果未能解决你的问题,请参考以下文章

pat甲级75分在啥水平

pat甲级没做出来没有分吗

pat甲级60分啥水平

pat可以直接考甲级吗

pat甲级考试+pat1051+1056

PAT甲级——A1025 PAT Ranking