写出这个数

PAT-1002

题目:

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

输入格式:

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

输出格式:

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

输入样例:

1234567890987654321123456789

输出样例:

yi san wu

题目好像不太好理解,输出是把输入n的每一位加起来后的结果用拼音来表示,例如:输入456,每一位的和是15,输出是yi wu。注意,最后一个拼音数字后没有空格。
#include<iostream>
#include<string>
using namespace std ;

int main()
{
    string str,str1;
    int sum=0,num=0,i;
    int a[105];
    char s[10][5]={
        {"ling"},
        {"yi"},
        {"er"},
        {"san"},
        {"si"},
        {"wu"},
        {"liu"},
        {"qi"},
        {"ba"},
        {"jiu"}};
    getline(cin,str);
    for(int j=0;j<str.size();j++)
    {
        sum=sum+str[j]-48;
    }
    num=sum;
    for(i=0;num!=0;i++)
    {
        a[i] = num%10;
        num=num/10;
    }
    for(int j =i-1;j>=0;j--)
    {
        if(j == 0)
        {
            cout<<s[a[j]];
        }else
        {
            cout<<s[a[j]]<<' ';
        }
        
    }
    return 0;
}
原文地址:https://www.cnblogs.com/hdyss/p/10738782.html