• 1002 写出这个数 (20分)


    1002 写出这个数 (20分)
     

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

    输入格式:

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

    输出格式:

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

    输入样例:

    1234567890987654321123456789
    
     

    输出样例:

    yi san wu
    
     
        
     
     题目很简单,直接看代码吧
     1 #include<iostream>
     2 #include<vector>
     3 #include<string>
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     int sum=0,tem;
     9     string str;
    10     cin>>str;
    11     for(unsigned int i=0;i<str.length();i++)
    12     {
    13         tem=str[i]-'0';  //把char型数字转换成对应的int型
    14         sum+=tem;        //sum<=900
    15     }
    16     vector<string> v;
    17     for(int i=sum;i!=0;i/=10)   //9  25  346
    18     {
    19         switch(i%10)
    20         {
    21             case 0: v.push_back("ling");break;
    22             case 1: v.push_back("yi");break;
    23             case 2: v.push_back("er");break;
    24             case 3: v.push_back("san");break;
    25             case 4: v.push_back("si");break;
    26             case 5: v.push_back("wu");break;
    27             case 6: v.push_back("liu");break;
    28             case 7: v.push_back("qi");break;
    29             case 8: v.push_back("ba");break;
    30             default: v.push_back("jiu");
    31         }
    32     }
    33     vector<string>::iterator iter;
    34     for(iter=v.end()-1;iter!=v.begin();iter--)
    35         cout<<*iter<<" ";
    36     cout<<*iter;
    37     return 0;
    38 }

  • 相关阅读:
    ZOJ Problem Set
    ZOJ Problem Set
    UVa 11464 偶数矩阵 枚举
    poj 1753 枚举
    Codeforces 637D 模拟
    hdu 5631 并查集
    hdu 5438 并查集
    UVa 10129 单词 (有向欧拉路+并查集)
    hdu 3018 欧拉路定理+并查集
    并查集的初步学习
  • 原文地址:https://www.cnblogs.com/buanxu/p/12812518.html
Copyright © 2020-2023  润新知