zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practice (中文)1002 写出这个数 (20 分)

    题目

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

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

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

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

    C++实现

    #include <iostream>
    #include <string>
    #include <sstream>
    using namespace std;
    void i2s(int num,string &str)
    {
        stringstream ss;
        ss<<num;
        ss>>str;
    }
    int main()
    {
        int sum=0;
        string s,s0,num[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
        cin>>s;
        for (int i = 0; i < s.length(); ++i) {
            sum += (s[i] - '0');
        }
        i2s(sum,s0);
        for (int j = 0; j < s0.length(); ++j) {
            cout<<num[s0[j]-'0'];
            if(j!=s0.length()-1) cout<<' ';
        }
        return 0;
    }
    

    python实现

    list1=list(input())
    #输入的字符串转化为列表
    sum=0
    for value in list1:
        value=int(value)
        #将列表list1中的元素转换为int
        sum=sum+value
    list2=['ling','yi','er','san','si','wu','liu','qi','ba','jiu']
    list3=list(str(sum))
    #将sum由int转换成str,再把每一位数字拆分成list3中的元素
    lenth=len(list3)
    for value1 in list3:
        if lenth>1:
            print(list2[int(value1)],end=' ')
        else:
            print(list2[int(value1)],end='')
        lenth=lenth-1
    
  • 相关阅读:
    jmeter定时器
    创建视图的语句
    实时监控-网络、磁盘
    Nginx环境搭建准备
    nmon使用命令
    tomcat服务器安装方法
    Selenium_高级操作_鼠标操作选择下拉框
    实例:对象库如何工作:
    自动化
    【Linux】环境搭建
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338520.html
Copyright © 2011-2022 走看看