美文网首页
1002. 写出这个数

1002. 写出这个数

作者: Yovey | 来源:发表于2017-12-10 19:20 被阅读0次

原题链接
写出这个数:

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

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

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

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

时间限制 内存限制 代码长度限制 判题程序 作者
400 ms 65536 kB 8000 B Standard CHEN, Yue

解题思路:
建立枚举类型或字符串数组存储0~9的拼音;·考虑只创建一次,采用数组存储·
输入n;//0<n<=10^100,考虑到位数过大,不进行存储,进行动态处理
每输入一个数字,加进和sum中;
输出sum的每一位数字对应的拼音;

ACCode:

//Write the number.
//Input:A nuture number n
//Output:The sum of each numbers in Pinyin.
#include <iostream>
using namespace std;
int main()
{
    char* number;
    int sum=0;
    char c;
    int n[4]={0};
    int i;
    int flag=0;
    char* pinyin[10]=
    {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
    while((c=getchar())!='\n')
    {
        sum=sum+(c-'0');
    }
    for(i=0;i<4;i++)
    {
        n[i]=sum%10;
        sum=sum/10;
    }
    while(--i+1)
    {
        if(n[i]||flag){
            if(flag)
                cout<<" ";    
            cout<<pinyin[n[i]];
            flag=1;
        }
    }
    return 0;
}

·Python代码

n = raw_input()
sum = 0
i = 0
pinyin=['ling','yi','er','san','si','wu','liu','qi','ba','jiu']
jieguo=[]
while i<len(n):
    sum=eval('sum+'+n[i])
    i=i+1
while sum>0:
    jieguo=[pinyin[sum%10]]+jieguo
    sum = sum // 10
String=' '.join(jieguo)
print String

有疑问?查看帮助

相关文章

  • 1002. 写出这个数

    读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给...

  • 1002. 写出这个数

    原题链接写出这个数: 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入...

  • 1002. 写出这个数 (20)

    1002. 写出这个数 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B ...

  • 1002. 写出这个数 (20)

    1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:...

  • 1002. 写出这个数 (20)

    分析: 需要注意到 n 的范围在0~10的一百次方,我们通常用来表示整数的 int 与 long 都不能满足如此大...

  • PAT 1002. 写出这个数 (20)

    读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给...

  • 1~5题

    1001. 害死人不偿命的(3n+1)猜想 (15) 水题 ,没什么好讲的,应该一遍过 。 1002. 写出这个数...

  • PAT习题刷题中

    1001.3n+1猜想 2-05.求集合数据的均方差 1002.写出这个数 1004.成绩排名 1005.继续3n...

  • 1002. 写出这个数(数字转换为字符串,sprintf)

    读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含1个测试用例,即...

  • 写出这个数

    读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给...

网友评论

      本文标题:1002. 写出这个数

      本文链接:https://www.haomeiwen.com/subject/akbvixtx.html