解题思路:

注意事项:

参考代码:

//將文本保存在com文件夾下的cx子文件夾中

package com.cx;


//引入java文件夾下util子文件中Scanner類

import java.util.Scanner;


    public class NumberQuestion {


        public static void main(String[] args) {

        // 创建Scanner的對象

        Scanner sc = new Scanner(System.in);

        // sc就可以直接使用对象方法nextInt从控制台接受一个int值

        int a = sc.nextInt();

        // 直接调用Method方法

        Method1(a);

    }


    // method就是解决3个问题的方法

    public static void Method1(int a) {

    //第一个循环求得是数字的位数,n是累加器,刚开始将a赋值给b,用b计算。

    //如果不赋值,直接用a计算。a就变成0了,后面的循环里面a就没法用了

            int n = 0;

            int b = a;

            for (int i = 0; b > 1; i++) {

            b = b / 10;

            n++;

            }


            System.out.println(n);

            //定义一个数组,将每个位置上的数字存到数组

            int[] arr = new int[n];

            for (int i = 0; i < n; i++) {

            arr[i] = a % 10;

            a = a / 10;


            }

            //从数组下标最大到下标最小,依次输出

            for (int i = arr.length - 1; i >= 0; i--) {

            System.out.print(arr[i] + "\t");

            }

            //输出回车

            System.out.println();

    //这个是第三个问题的解决,因为每循环都要乘10,求出的结果是想要值得10倍,所以最后除以10

            int c = 0;

            for (int i = 0; i < arr.length; i++) {

            c = c + arr[i];

            c = c * 10;

            }

            c = c / 10;

            System.out.println(c);


    }


}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论