1002. 写出这个数 (20) c++

来源:互联网 发布:php artisan数据库 编辑:程序博客网 时间:2024/06/01 10:20

PAT乙级题目:

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

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

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

输入样例:
1234567890987654321123456789
输出样例:
yi san wu

#include <iostream>#include<cstring>using namespace std;int main(){    string str;    cin>>str;    char a[150];    strncpy(a,str.c_str(),str.length());#转化字符串为字符型数组。!!!!    int num=0;    for(int j=0;j<str.length();j++)    {        num=num+int(a[j])-48;    }    int b[10000];    int i;    for(i=0;num!=0;i++)    {        b[i]=num%10;        num=num/10;    }    for(int k=i;k>0;k--)    {        switch(b[k-1])        {            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(k>1)        {            cout<<" ";        }    }    return 0;}
原创粉丝点击