10个数找最大最小并交换数组c语言
时间: 2024-11-10 14:12:46 浏览: 13
在C语言中,你可以通过遍历数组的方式来找到数组中的最大值、最小值,并同时交换这两个数值。下面是一个简单的示例程序:
```c
#include <stdio.h>
// 函数声明
void findMaxMin(int arr[], int n, int* max, int* min); // 定义函数,接受数组和其大小
int main() {
int arr[10] = {5, 9, 1, 7, 3, 6, 8, 4, 2, 10}; // 示例数组
int max, min; // 初始化最大值和最小值变量
int temp; // 用于临时交换的变量
findMaxMin(arr, 10, &max, &min);
printf("Original array: ");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 交换最大值和最小值
temp = *max;
*max = *min;
*min = temp;
printf("Array after swapping: ");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
// 找到最大值和最小值的函数
void findMaxMin(int arr[], int n, int* max, int* min) {
*max = arr[0]; // 先假设第一个元素为最大值
*min = arr[0]; // 同理先假设第一个元素为最小值
for (int i = 1; i < n; i++) {
if (arr[i] > *max) {
*max = arr[i];
} else if (arr[i] < *min) {
*min = arr[i];
}
}
}
```
在这个程序中,`findMaxMin`函数遍历数组,找出最大值和最小值。然后在主函数里,我们将这两个值交换。注意,这里假设数组元素已经初始化,且至少包含两个元素。
阅读全文