码迷,mamicode.com
首页 > 其他好文 > 详细

1002 写出这个数

时间:2019-03-19 21:31:47      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:length   汉语   字符串   包含   测试用例   stream   break   通过   题目   

题目:

读入一个正整数 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 写出这个数

标签:length   汉语   字符串   包含   测试用例   stream   break   通过   题目   

原文地址:https://www.cnblogs.com/mit-nuannuan/p/10561406.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!