蓝桥杯题目 1009: [编程入门]数字的处理与判断

蓝桥杯题目 1009: [编程入门]数字的处理与判断

题目描述

给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123

输入

一个不大于5位的数字

输出

三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数

样例输入

12345

样例输出

5
1 2 3 4 5
54321

参考代码:

import java.util.Scanner;
public class Test7 {
    public static void main(String[] args){
        Scanner sc =new Scanner(System.in);
        int a=sc.nextInt();  //a为输入的数字
        int[] b=new int[5];    //新建一个大小为5的数组
        int c=0,d,e;         //定义c的初始值,将a的值赋值给d备用
        d=a;
        while(d>0){      //while循环找出输入的a是几位数并赋值给c
            d=d/10;
            c++;
        }
        System.out.println(c);  //输出c(输入的数字是几位数)
        for(int i=0;i<c;i++){  //利用for循环
            int f=1;           //定义一个f让每一遍的f都重新变为1,为下面的for循环提供便利
            for(int j=0;j<c-i-1;j++){     //利用for循环计算出正好除以的10的几次方
                f=10*f;                   //例如当a=12345时就除以10的4次方
            }
            e=a/f;                //将e变为a/f
            a=a%f;                //将a进行除余,例如a=12345第一次除余后变为2345
            b[i]=e;               //将e赋值给b数组
            if(i<c-1){
                System.out.print(b[i]+" ");  //之前的输入后面都加一个空格
            }
            else {
                System.out.println(b[i]);   //最后的输入不加空格
            }                                //强调一点“print”输出时不会换行“println”输出时会换行
        }
        for(int v=0;v<b.length;v++){
            if(b[b.length-v-1]>0){
                System.out.print(b[b.length-v-1]);   //倒着输出数组
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值