给定一个整数数组 arr arr = [10, 3, 5, 6, 20],编写一个函数找出数组中任意两个不同元素之间的最大差值。输出数组中任意两个不同元素之间的最大差值 c语言编程
时间: 2024-09-19 20:07:55 浏览: 48
php使用array_rand()函数从数组中随机选择一个或多个元素
在C语言中,你可以通过遍历数组并维护当前找到的最大差值来解决这个问题。这里是一个简单的实现示例:
```c
#include <stdio.h>
// 函数声明
int findMaxDifference(int arr[], int n);
int main() {
int arr[] = {10, 3, 5, 6, 20};
int array_size = sizeof(arr) / sizeof(arr[0]);
int max_difference = findMaxDifference(arr, array_size);
printf("The maximum difference between any two different elements is %d\n", max_difference);
return 0;
}
// 主要函数
int findMaxDifference(int arr[], int n) {
int max_val = arr[0]; // 初始最大值
int min_val = arr[0]; // 初始最小值
int max_difference = 0; // 初始化最大差值
for (int i = 1; i < n; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
} else if (arr[i] < min_val) {
min_val = arr[i];
}
// 更新最大差值,考虑负数情况
max_difference = max(max_difference, max_val - min_val);
}
return max_difference;
}
```
这个程序首先找到数组中的最大值和最小值,然后将最大值减去最小值,更新最大差值。在每次循环中,如果遇到更大的数,就更新最大值;如果遇到更小的数,就更新最小值。
阅读全文