#9457. 交换最小值
交换最小值
🧾【题号未给】交换最小值
🎯【任务总览】
给定一个包含 个整数的数组,请你找到其中最小值第一次出现的位置,将该值与第一个数交换,然后输出该最小值的位置以及交换后的数组内容。
📥【输入格式】
第一行:一个整数 n(1 ≤ n ≤ 200)
第二行:n 个整数,范围在 [-32768, 32767] 之间,以空格分隔
📤【输出格式】
第一行:最小值所在的位置(从 1 开始计数)
第二行:交换后的数组,数之间用空格分隔
🧪【输入样例】
3
2 6 1
✅【输出样例】
3
1 6 2
🔍【题目分析】
- 遍历数组,记录最小值以及它第一次出现的位置
min_pos
。 - 若
min_pos ≠ 0
,则将a[0]
与a[min_pos]
进行交换。 - 注意输出位置从 1 开始计数。
🧠【实现要点】
- 用一个变量记录最小值
min_val
,初始为INT_MAX
。 - 使用
min_pos
记录最小值的索引(初始设为 0 或 -1)。 - 交换时注意不要越界。