(一维数组的应用)输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组,要求数组长度定义为10,输出数组时每个元素占8个宽度,每行5个的C语言代码
时间: 2025-01-01 09:41:17 浏览: 4
在C语言中,你可以通过以下几个步骤实现这个功能。首先,假设我们有一个名为`arr`的一维整型数组,长度为10。为了找到最大值、最小值并进行交换,我们可以创建一个函数`swapMinMax()`,然后在一个主循环里处理数组。下面是满足要求的代码:
```c
#include <stdio.h>
// 定义一个交换两个元素的辅助函数
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[10] = {5, 3, 9, 1, 7, 2, 8, 6, 4, 0}; // 假设这是一个示例数组
int i;
// 找到最大值和最小值,并与数组两端的元素交换
int max = arr[0], min = arr[0];
for (i = 1; i < 10; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
// 交换
swap(&arr[0], &max);
swap(&arr[9], &min);
// 输出数组
for (i = 0; i <= 9; i++) {
printf("%8d", arr[i]); // 每个元素占8个字符宽
if ((i + 1) % 5 == 0) {
printf("\n"); // 当打印满5个元素换行
}
}
return 0;
}
```
运行这段代码后,它会按照描述的要求,先找出最大值和最小值,再将它们与数组的第一个和最后一个元素交换,最后以指定的格式输出数组。
阅读全文