题目描述
找出n个数里最小的k个
输入描述:
每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n 不超过100。
输出描述:
输出n个整数里最小的k个数。升序输出
代码实现:
import java.util.Scanner; import java.util.Arrays; public class Main{ public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入n+1个整数:"); String str = input.nextLine(); String s[] = str.split(" "); int arr[] = new int[s.length-1]; for (int i = 0; i < arr.length; i++) {//将输入的n个字符转化为int数组 arr[i] = Integer.parseInt(s[i]); } Arrays.sort(arr);//排序 System.out.println("输出"+arr.length+"个里最小的"+Integer.parseInt(s[s.length-1])+"个数为:"); for (int i = 0; i < Integer.parseInt(s[s.length-1]); i++) {//取最小的k个数并输出 if(i==0) System.out.print(arr[i]);//输出格式的调整。 else System.out.print(" "+arr[i]); } } }
示例1
输入
3 9 6 8 -10 7 -11 19 30 12 23 5
输出
-11 -10 3 6 7