本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大和最小值都是唯一的。用c语言编写
时间: 2023-11-23 20:01:17 浏览: 156
好的,请稍等,让我先处理一下您的请求。
关于您的问题,这是一个简单的数组操作题目,我们可以利用循环找到最大值和最小值的下标,然后进行交换即可。以下是一个示例代码:
```c
#include <stdio.h>
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
int min_idx = 0;
int max_idx = 0;
for (int i = 1; i < n; i++)
{
if (arr[i] < arr[min_idx])
{
min_idx = i;
}
if (arr[i] > arr[max_idx])
{
max_idx = i;
}
}
swap(&arr[0], &arr[min_idx]);
swap(&arr[n-1], &arr[max_idx]);
for (int i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
如果您有其它问题或需求,欢迎继续提问。
阅读全文