C语言:输入正整数n,再输入n个互不相同的整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。
时间: 2024-03-05 07:52:13 浏览: 74
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
int main() {
int n, i, min_index, max_index, temp;
int arr[100];
printf("请输入正整数n:");
scanf("%d", &n);
printf("请输入%d个互不相同的整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 找到最小值和最大值的下标
min_index = max_index = 0;
for (i = 1; i < n; i++) {
if (arr[i] < arr[min_index])
min_index = i;
else if (arr[i] > arr[max_index])
max_index = i;
}
// 交换最小值和第一个数
temp = arr[0];
arr[0] = arr[min_index];
arr[min_index] = temp;
// 交换最大值和最后一个数
temp = arr[n-1];
arr[n-1] = arr[max_index];
arr[max_index] = temp;
printf("交换后的数为:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
例如输入:n=5,5个数分别为:7 2 4 6 1,则输出为:1 2 4 6 7。
阅读全文