本题要求编写程序,找出给定的N个数中的最小值,并将其与第一个数交换,最后输出交换后的序列。题目保证最小值是唯一的。
时间: 2023-11-24 17:22:34 浏览: 89
好的,以下是对应的 C++ 代码实现,帮助你完成这个任务:
```cpp
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int arr[N];
for (int i = 0; i < N; i++) {
cin >> arr[i];
}
int min_idx = 0;
for (int i = 1; i < N; i++) {
if (arr[i] < arr[min_idx]) {
min_idx = i;
}
}
swap(arr[0], arr[min_idx]);
for (int i = 0; i < N; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
在此代码中,我们首先输入了一个整数 `N`,并定义了一个长度为 `N` 的数组 `arr`,用于存储输入的 `N` 个整数。然后我们遍历整个数组,找到数组中最小值的下标 `min_idx`。最后,我们使用 `swap` 函数交换数组中第一个元素和最小值的位置,最后输出交换后的数组。
希望这个代码可以帮助你完成你的任务。
相关问题
本题要求编写程序,找出给定的n个数中的最小值,并将其与第一个数交换,最后输出交换后的序列。题目保证最小值是唯一的。
下面是一个 Python 代码示例,实现了题目中的要求:
```
def find_and_swap(nums):
min_val = float('inf')
min_index = 0
for i in range(len(nums)):
if nums[i] < min_val:
min_val = nums[i]
min_index = i
nums[0], nums[min_index] = nums[min_index], nums[0]
return nums
nums = [4, 5, 1, 2, 9]
print(find_and_swap(nums))
```
代码中,我们首先找到了给定数组中的最小值和它的下标,然后交换了第一个元素和最小值,最后返回了交换后的数组。
用C语言编写程序实现:本题要求编写程序,找出给定的N个数中的最小值,并将其与第一个数交换,最后输出交换后的序列。题目保证最小值是唯一的。 输入格式: 输入在第一行中给出一个正整数N(1≤n≤10),第二行给出N个整数,数字间以空格分隔。 输出格式: 在一行中顺序输出交换后的序列,每个整数后跟一个空格。 输入样例: 5 8 2 5 1 4 输出样例: 1 2 5 8 4
以下是用C语言编写的程序实现上述功能:
```c
#include <stdio.h>
int main()
{
int n, i, min, temp;
int a[10];
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
// 找到最小值,并记录其下标
min = 0;
for (i = 1; i < n; i++)
{
if (a[i] < a[min])
{
min = i;
}
}
// 将最小值与第一个数交换
temp = a[0];
a[0] = a[min];
a[min] = temp;
// 输出交换后的序列
for (i = 0; i < n; i++)
{
printf("%d ", a[i]);
}
return 0;
}
```
该程序首先通过 `scanf` 函数读入整数 `n` 和整数数组 `a`,然后使用一个循环找到数组中的最小值,并记录其下标。接着,将最小值与第一个数交换。最后,再使用一个循环输出交换后的序列。
阅读全文