1002 写出这个数

Posted mit-nuannuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1002 写出这个数相关的知识,希望对你有一定的参考价值。

题目:

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

输入格式:

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

输出格式:

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

输入样例:

1234567890987654321123456789

输出样例:

yi san wu

将数字之和转换成字符串然后输出,也可以通过对整数取余保存各位上的数字进行匹配(改天再写吧)

#include <iostream>
#include <cstring>
#include <string>

using namespace std;

void meth(char *n){

    int len = strlen(n);
    int sum = 0, temp = 0;
    for(int i=0; i<len; i++) {

        temp = n[i] - '0';
        sum += temp;
    }
    //cout << sum <<endl;
    string s = to_string(sum);
    //cout << s << endl;

    //int slen = strlen(s);
    int slen = s.length();
    char t = '0';
    for(int i=0; i<slen; i++) {

        t = s[i];
        //cout << t << endl;
        switch(t) {
            case '0': cout << "ling" ; break;
            case '1': cout << "yi" ; break;
            case '2': cout << "er" ; break;
            case '3': cout << "san" ; break;
            case '4': cout << "si" ; break;
            case '5': cout << "wu" ; break;
            case '6': cout << "liu" ; break;
            case '7': cout << "qi" ; break;
            case '8': cout << "ba" ; break;
            case '9': cout << "jiu" ; break;
        }

        if(i != slen - 1)
            cout << ' ';
    }

}

int main() {

    char n[100];
    cin >> n;

    meth(n);

    return 0;
}

以上是关于1002 写出这个数的主要内容,如果未能解决你的问题,请参考以下文章

1002 写出这个数 (20分)

1002.写出这个数

PAT1002. 写出这个数 (20)

PAT 乙级练习题1002. 写出这个数 (20)

PAT_B_1002 写出这个数

PAT字符处理题---1002 写出这个数 (20分)