zoukankan      html  css  js  c++  java
  • Day010 PAT乙级 1002 写出这个数

    PAT乙级 1002 写出这个数

    题目

    思路分析

    1. 输入一个小于10^100的数,并求出它们各位数字的和,int或者double显然不够用,所以这里用字符串存储数字
    2. 用一个for循环把字符串中每个数字提取出来并且累加,用字符减去‘0’可以得到ascll码表中它们相差的位数,由于这里的字符是数字,所以减去‘0’之后可以直接把它转换成int类型
    3. 之后要把数字转换成对应的拼音输出出来,这里可以创建两个数组,一个用来存放之前计算得到的合,一个用来存放十个数字的拼音。然后用for循环遍历存放数字的数组,将取出的数字作为拼音数组的下标输出出来。例如:数字数组temp[i]=j,拼音数组就输出py[j]
    4. 最后注意一下每个拼音之间用空格隔开,最后一个拼音后没有空格

    代码

    import java.util.Scanner;
    public class Main {
        public static void main(String[] args) {
            Scanner cin = new Scanner(System.in);
            String n = cin.next();
            int sum = 0;
            
            //把字符串中保存的数字加起来
            for (int i = 0; i < n.length(); i++) {
                sum += n.charAt(i)-'0';
            }
            f(sum);
            cin.close();
        }
    
        public static void f(int x) {
            int[] temp = new int[1000];
            String[] py = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
            int num = 0;
            
            //把数字存入数组
            while(x>0){
                temp[num] = x%10;
                x /= 10;
                num++;
            }
            
            //把数字数组的值作为拼音数组的下标输出出来
            for (int i = num-1; i >= 0; i--) {
                int p=temp[i];
                //判断是否是最后一个数,如果是最后一个数就不输出空格
                if (i==0) System.out.print(py[p]);
                else System.out.print(py[p]+" ");
            }
        }
    }
    
  • 相关阅读:
    资料
    CSS 折角效果
    CSS3 动画
    选择器--验证表单
    -moz 火狐 -msIE -webkit[chrome safari]
    css3 fileter始终效果 图片渲染
    jquery 库下载地址http://www.jq22.com/jquery-info122
    CSS 文字垂直居中
    图片预加载技术(存在问题,已修复)
    Round#628(div2)
  • 原文地址:https://www.cnblogs.com/mooncell/p/14742727.html
Copyright © 2011-2022 走看看