题目描述:
输入10个整数,将其中最小的数与第一个数交换,把其中最大的数与最后一个数交换。
把交换后的数分行输出,每个数占一行。
输入:
以空格分隔的10个整数。
输出:
分行输出10个整数,每个数占一行。
样例输入:
1 2 9 4 5 6 7 8 0 3
样例输出:
0
2
3
4
5
6
7
8
1
9
代码:(Java版)
import java.util.Scanner;
public class Main {
private static int N = 10;
public static void main(String[] args) { // 主函数
int[] data = new int[N]; // 定义一个存放输入的10个整数的数组
int max, maxIndex = 0; // 最大数和最大数的下标
int min, minIndex = 0; // 最小数和最小数的下标
Scanner sc = new Scanner(System.in);
for(int i = 0; i < N ; i++) { // 输入10个整数
data[i] = sc.nextInt();
}
max = min = data[0]; // 最大数和最小数默认为数组的第一个数
for(int j = 0; j < N; j++) {
if(data[j] > max) {
max = data[j];
maxIndex = j;
}
if(data[j] < min) {
min = data[j];
minIndex = j;
}
}
data[maxIndex] = data[N-1]; // 数组最后面的数交换到最大数的位置
data[N-1] = max; // 最大数交换到最后面
data[minIndex] = data[0]; // 数组最前面的数交换到最小数的位置
data[0] = min; // 最小数交换到最前面
for(int x = 0; x < N; x++) {
System.out.println(data[x]); // 输出交换后的数组
}
sc.close();
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) { // 主函数
int[] data = new int[10]; // 定义一个存放输入的10个整数的数组
int minIndex = 0, maxIndex = 0;
Scanner sc = new Scanner(System.in);
for(int i = 0; i < 10 ; i++) { // 输入10个整数
data[i] = sc.nextInt();
}
for(int j = 0; j < 10; j++) {
if(data[j] < data[minIndex]) {
minIndex = j;
}
if(data[j] > data[maxIndex]) {
maxIndex = j;
}
}
int temp = data[0];
data[0] = data[minIndex];
data[minIndex] = temp;
temp = data[9];
data[9] = data[maxIndex];
data[maxIndex] = temp;
for(int x = 0; x < 10; x++) {
System.out.println(data[x]); // 输出交换后的数组
}
sc.close();
}
}