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))

  • 相关阅读:
    httpd.conf详细解释
    centos 6 编译安装php-5.4/5.5(lamp模式)
    apache的动态和静态
    Apache Prefork、Worker和Event三种MPM分析
    如何使用apache的 work模式还是 prefork 模式
    apache的扩展模块安装
    apache 启动脚本加入系统服务列表
    MYSQL5.5源码安装 linux下
    LAMP第一部分-环境搭建
    I2C驱动详解
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/8543517.html
Copyright © 2011-2022 走看看