zoukankan      html  css  js  c++  java
  • 第三章(循环) 编程题 4

    念整数

    题目内容:

    你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。

    如输入1234,则输出:

    yi er san si

    注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:

    fu er san si yi

    输入格式:

    一个整数,范围是[-100000,100000]。

    输出格式:

    表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

    输入样例:

    -30

    输出样例:

    fu san ling

     

    难点分析:

    本题有两个难点:

    其一在于,计算机算数的时候,是从右往左算的,所以一般情况下念数字的时候,会把123念成321,因此本题第一个难点在于如何把计算机拧巴了的数给还原成正常的顺序;

    其二在于,这个 负号和空格的控制;

    难点一我的处理办法是,先把这个数每一位取出来,然后再倒过来,就是先把123取成数字1 2 3,然后进行 3*100+2*10+1*1=321,而后再按照一般方法把它读出来。但是这样的不严谨导致了这道题我只能拿到3分:对于20,2000等能被10整除的数,我无法按照这个办法将之倒过来,即20不能倒成02,200不能倒成002,这是整体思路的问题,限于脑子僵在这里了,所以只好就拿3分了……

    难点二,借鉴了前面几道题的办法,设置了一个isfirst的标识,很好的解决了。

    以下是代码:

    1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 7 8 Scanner in = new Scanner(System.in); 9 10 11 int x = in.nextInt(); 12 in.close(); 13 14 boolean iszheng = true; 15 16 if ( x < 0){ 17 iszheng = false; 18 x = 0 - x; 19 } 20 if (x == 0){ 21 System.out.print("ling"); 22 } 23 24 boolean isfirst = true; 25 String nian = new String(""); 26 int m = 0; 27 28 while( x != 0){ 29 m = m * 10 + x % 10; 30 x = x / 10; 31 } 32 33 while ( m != 0 ){ 34 35 int x0 = m % 10; 36 m = m / 10; 37 switch (x0){ 38 case 0: 39 nian = "ling"; 40 break; 41 case 1: 42 nian = "yi"; 43 break; 44 case 2: 45 nian = "er"; 46 break; 47 case 3: 48 nian = "san"; 49 break; 50 case 4: 51 nian = "si"; 52 break; 53 case 5: 54 nian = "wu"; 55 break; 56 case 6: 57 nian = "liu"; 58 break; 59 case 7: 60 nian = "qi"; 61 break; 62 case 8: 63 nian = "ba"; 64 break; 65 case 9: 66 nian = "jiu"; 67 break; 68 } 69 70 if (isfirst){ 71 isfirst = false; 72 if (iszheng){ 73 System.out.print(nian); 74 } 75 else{ 76 System.out.print("fu " + nian); 77 } 78 } 79 else{ 80 System.out.print(" " + nian); 81 } 82 83 84 } 85 86 87 88 } 89 90 }
  • 相关阅读:
    liunx centos下tomcat启动 Cannot find ./catalina.sh
    ls -bash: ls: command not found
    Linux CentOS下安装JDK1.7
    查看Linux Centos 系统信息 内核 CPU 系统版本 磁盘 分区 网络配置 进程 命令
    PHP自动捕捉监控致命错误(500错误) error_get_last() 获取最后一次发生错误信息 register_shutdown_function()在脚本停止执行时注册一个回调函数
    CI CodeIgniter 添加公共函数 全局函数 自定义函数
    express框架封装前戏
    怎奈风云多变换,骚完一波还一波,记PHP mongodb驱动的2019年11月用法
    linux ps sample
    利用python pika库实现rabbitmq客户端
  • 原文地址:https://www.cnblogs.com/zhong717/p/5093955.html
Copyright © 2011-2022 走看看