输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。 Input 输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。用Java写
时间: 2024-02-22 18:56:55 浏览: 22
以下是Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n;
while ((n = scanner.nextInt()) != 0) {
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = scanner.nextInt();
}
int minIndex = 0;
for (int i = 1; i < n; i++) {
if (nums[i] < nums[minIndex]) {
minIndex = i;
}
}
if (minIndex != 0) {
int temp = nums[0];
nums[0] = nums[minIndex];
nums[minIndex] = temp;
}
for (int i = 0; i < n; i++) {
System.out.print(nums[i]);
if (i != n - 1) {
System.out.print(" ");
}
}
System.out.println();
}
}
}
```
实现思路:
1. 读入n个数,存储到数组中。
2. 遍历数组,找出最小值的下标。
3. 判断最小值是否在数组的第一个位置,如果不是,则将最小值与第一个位置的数交换。
4. 遍历输出数组。