zoukankan      html  css  js  c++  java
  • 1002. 写出这个数 (20)

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

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

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

    输入样例:

    1234567890987654321123456789
    

    输出样例:

    yi san wu
    #include<cstdio>
    #include<cstring>
        char change[][5] = {  //二维数组,要用“” 
        "ling","yi","er","san","si","wu","liu","qi","ba","jiu"
    };
    int main(){
        char str[110];
        int ans[100];
        gets(str);
        int len = strlen(str);
        int sum = 0,num = 0,i;
        for(i = 0; i < len; i++){
            sum = sum + (str[i] - '0');
        } 
        while(sum != 0){
            ans[num++] = sum % 10;
            sum /= 10;    
        }
    
        for(i = num - 1; i >= 0; i--){
            printf("%s",change[ans[i]]);
            if(i != 0) printf(" ");
            else printf("
    ");
        }     
      
        return 0;
    }

    python版

    /*
    参考C的步骤
    */
    week = ('ling','yi','er','san','si','wu','liu','qi','ba','jiu')
    num = input()
    
    len_num = len(num)
    
    sum = 0
    for i in range(0,len_num):
        sum = sum + int(num[i])
    
    list = []
    while sum > 0:
        list.append(sum%10)
        sum = sum // 10
    i = len(list)
    while i > 1:
        i = i-1
        print(week[list[i]],end =' ')
    print(week[list[0]])
    
    
    """
    i = 0
    while i < len_num:
        print(num[i])
        i += 1
    print("sum = %d"%sum)
    print(num)
    
    """

    使用Python的内置函数操作

    n = input()
    sum = 0
    week = ('ling','yi','er','san','si','wu','liu','qi','ba','jiu')
    
    list2 = []
    for i in range(len(n)):
        sum += int(n[i])
    for j in range(len(str(sum))):
        list2.append(week[int(str(sum).split()[0][j])])
    print(' '.join(list2))

    其中

    split()函数使用

    split(str=””,num=string.count(str))  num=string.count(str)以str为分隔符截取字符串,如果num有指定值,则仅截取num+1个子字符串

    str1 = input()
    
    for i in range(len(str1)):
        print(str1.split()[0][i])

    join()函数

    join(seq)  以指定字符为分隔符,将seq中所有的元素合并为一个新的字符串

    str2 = input()
    
    print(' '.join(str2))

  • 相关阅读:
    fedora20安装hadoop-2.5.1
    超简单fedora20(linux)下JDK1.8的安装
    解决A program file was not specified in the launch configuration.问题
    java中的四则运算
    spring util命名空间
    java中常用的数据加密算法
    C语言实现栈
    百度ueditor富文本编辑器的使用
    C#进程管理程序实现
    ABP领域层-仓储
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/8543517.html
Copyright © 2011-2022 走看看