十八、Java——任意输入5个整数,存入数组,从小到大的顺序排列后输出, 再任意输入1个整数,仍要求所有数按从小到大的顺序输出。

感想:先是自己尝试做了一下,不会。又看了一些同学的代码,看不懂。自己又研究了半天,终于搞懂了插入排序的问题,实践果然是检验真理的标准,以后要多练题,实践出真知,不然就浮于表面,当时自以为听懂了掌握了,做题的时候却懵了。

这道题综合运用了Scanner、for循环、数组、冒泡排序、三变量交换法、Arrays应用、插入排序。特别要注意插入数值比原来数值都要大或者都要小,运行试错

package cn.kaoshi1;

import java.util.Arrays;
import java.util.Scanner;

//任意输入5个整数,存入数组,从小到大的顺序排列后输出,
// 再任意输入1个整数,仍要求所有数按从小到大的顺序输出。
public class paiXu2 {
    public static void main(String[] args) {
        //任意输入5个整数,用到Scanner
        Scanner input=new Scanner(System.in);
        System.out.println("请输入5个整数:");
        //存入数组 因为后面要插入1个数字,所以这边直接数组长度为6
        int[] num=new int[6];
        //for循环
        for(int i=0;i<num.length-1;i++){
            System.out.println("请输入第"+(i+1)+"个整数:");
            num[i]=input.nextInt();
        }
        //或者冒泡排序 三变量交换法
        //for遍历快捷键 num.for(i)=====for(int i=0;i<num.length;i++){}
        /*for(int i=0;i<num.length-1;i++){  //控制比较的轮数
            for(int j=0;j<num.length-1-i;j++){  //控制每轮比较的次数
                 if(num[j]>num[j+1]){  //不满足升序的顺序
                 //交换  三变量换元法
                 int tmp=num[j];
                 num[j]=num[j+1];
                 num[j+1]=tmp;
                 }
            }
        }
        * */
       Arrays.sort(num);    //升序排序
        //增强for 输出数值排序 ,这个不是数组
      /* for(int a:num){
           System.out.print(a+"\t");
       }*/
      //输出插入前的数组【】
        System.out.println(Arrays.toString(num));

       //插入一个整数
        System.out.println("请再任意输入一个整数:");
        int a=input.nextInt();

        //找到插入的位置index
        int index=num.length-1;  //此处index的值为数组长度-1  下标:0——length-1
        for(int i=0;i<num.length;i++){  //数组长度比下标大1 ,下标:0——length-1
            if(a<num[i]){    //插入的数字a 小于数组,则插入,数组往后移一位
                index=i-1;
                break;
            }
        }
        //原来的index位置以及前面的数值前移
        for(int i=0;i<index;i++){
            num[i]=num[i+1];
        }

        //在index位置插入
        num[index]=a;
        System.out.println("插入整数的下标是:"+index);
        for(int numa:num) {   //输出数值
            System.out.print(numa + "\t");
        }
        System.out.println();  //此处为了换行
        System.out.println(Arrays.toString(num));  //输出新的数组
    }
}
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 好的,以下是按从小到大顺序输出的四个整数: ```python nums = list(map(int, input().split())) nums.sort() print(nums) ``` 你可以在输入框中输入四个整数,然后按空格键分隔它们,最后按下回车键。代码将输出从小到大顺序排列的这四个整数。 ### 回答2: 您好!要实现输入任意四个整数,并按从小到大顺序输出,可以用下面这段Python代码: ```python num_1 = int(input("请输入第一个整数:")) num_2 = int(input("请输入第二个整数:")) num_3 = int(input("请输入第三个整数:")) num_4 = int(input("请输入第四个整数:")) nums = [num_1, num_2, num_3, num_4] # 将输入的四个整数存入一个列表中 nums.sort() # 对列表进行排序 print("从小到大顺序输出:", nums[0], nums[1], nums[2], nums[3]) ``` 您可以依次输入四个整数,然后程序会自动按从小到大顺序输出这四个整数。希望能帮到您!如果您还有其他问题,请随时提问。 ### 回答3: 输入任意四个整数,可以使用一个数组来存储这四个整数,然后通过比较大小的方式将它们按从小到大顺序排序。 具体的步骤如下: 1. 声明一个长度为4的整型数组,用来存储用户输入的四个整数。 2. 通过逐个读取用户输入,并将其赋值给数组元素。 3. 使用冒泡排序法对数组进行排序,按照从小到大顺序排列数组元素。 - 从第一个元素开始,与其后的每个元素进行比较,如果当前元素大于后一个元素,则交换它们的位置。 - 每一轮比较将确定一个最大值排在最后。 - 排序完成后,最小的元素将排在第一个位置。 4. 输出排序后的数组元素,每个元素之间用空格隔开。 下面是一个具体实现的示例代码: ```python numbers = [] for i in range(4): number = int(input("请输入第{}个整数:".format(i+1))) numbers.append(number) # 冒泡排序 for i in range(len(numbers)-1): for j in range(len(numbers)-1-i): if numbers[j] > numbers[j+1]: numbers[j], numbers[j+1] = numbers[j+1], numbers[j] # 输出排序后的结果 print("从小到大顺序输出:", end="") for number in numbers: print(number, end=" ") ``` 这样,无论用户输入什么数字,都可以按照从小到大顺序进行输出

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天地风雷水火山泽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值