• 课堂检测求一个数的各个位


    1.程序设计思想

    (1) 创建一个函数,在函数中定义一个数组,用来存放取到的各个数

    (2) 输入一个正整数

    (3) 若输入的正整数正确,执行循环,在循环里将num%10赋值给a,将a存放在数组中,并使下标加1,sum=sum+a,num=num/10。

    (4) 输出sum和依次取到的数

    (5) 利用for循环,依次将取到的位倒序输出。

    (6) 在主函数中定义一个对象,调用qushu函数

    2.程序流程图

    3.源程序代码

    //信1605-1 20163690 李静
    import java.util.Scanner;
    public class Number 
    {
        int count=0,sum=0,a,num;
        public static void main(String[] args) 
        {
            Number N= new Number();//定义一个对象
            N.qushu();//调用qushu函数
            
        }
        public void qushu()
        {
            int []M=new int[10];//定义一个数组用来存放取到的位数
            Scanner input=new Scanner(System.in);
            System.out.println("输入一个正整数:");//输入number
            num=input.nextInt();
            while(num!=0)//当输入的数不为0时,执行循环
            {
                a=num%10;//a表示num%10取到的值
                M[count]=a;//count用来表示数组的下标
                count=count+1;
                System.out.print(a+" ");
                sum=sum+a;
                num=num/10;
            }
            System.out.print("
    ");
            System.out.println(count+"位数字");//输出num是几位数字
            System.out.println(sum);
            for(int i=count-1;i>=0;i--)//通过循环依次将取到的位倒序输出
            {
                System.out.print(M[i]+" ");
            }
        }
    
    }

    4.结果截图

     5.实验总结

    这次作业应该在课堂20分钟内完成,一开始看到程序就开始编程,并没有理清程序思路,在编的过程中无从下手。在以后的编程学习中当不清楚怎么编写时,学会用伪代码处理。做这道题时,对调用方法不太清楚,以及当有多个类时,如何在一个类中引用另一个类,对这种并不太熟悉,导致这道题不会做。题目中并没有规定输入几位数,所以判断当num!=0时才执行循环。

  • 相关阅读:
    C++快速排序
    C++冒泡排序
    为什么Excel创建一个新的工作簿就会初始化三个worksheet
    为什么游戏需要英雄
    2015.11.18——Lua中文教程
    [国家集训队2012]JZPFAR
    后缀数组小结?
    [BZOJ 2738]矩阵乘法
    [BZOJ 3221][Codechef FEB13] Obserbing the tree树上询问
    [BZOJ 4999]This Problem Is Too Simple!
  • 原文地址:https://www.cnblogs.com/lijing925/p/7647982.html
Copyright © 2020-2023  润新知