______________________________________________________________________________________________________________
实验 10 排序和二维数组的使用
1. 程序填空题,不要改变与输入输出有关的语句。
60005 排序
输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入一个正整数 n,再输入 n 个整数,将它们从大到小排序后输出。
例:括号内是说明
输入
3 (repeat=3)
4 5 1 7 6
3 1 2 3
5 5 4 3 2 1
输出
7 6 5 1
3 2 1
5 4 3 2 1
import java.util.Scanner;
public class Test60005{
public static void main(String []args){
int ri, repeat;
int i, index, k, n, temp,a[];
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
a=new int[n];
for(i=0; i<n; i++)
a[i]=in.nextInt();
/*---------*/
for(i=0;i<n-1;i++) { //选择法递减排序
index=i;
for(k=i+1;k<n;k++){
if(a[k]>a[index]) index=k; //找最大值的下标
}
if(i!=index){
temp=a[i];a[i]=a[index]; a[index]=temp;
}
}