c语言中取输出值的最大值已经输出个数怎么写
时间: 2024-09-23 15:08:18 浏览: 35
c语言程序找出其中的最大值和最小值问题
在C语言中,通常你需要使用数组存储数据,然后通过遍历比较找到最大值并记录计数。以下是一个示例,假设你想找出一个整型数组`arr`中连续元素的最大值及其出现次数:
```c
#include <stdio.h>
#include <limits.h> // 包含INT_MAX,用于表示最大值
#define MAX_COUNT 100 // 假设最多有100个连续相同的数
int findMaxAndCount(int arr[], int n) {
int current_max = INT_MIN, count = 0, max_count = 0, prev_num = arr[0];
for (int i = 1; i < n; ++i) {
if (arr[i] == prev_num + 1) { // 如果当前元素等于前一个元素加一
count++;
} else { // 如果不是,更新最大值和计数,并重置计数
if (count > max_count || (count == max_count && arr[i] > current_max)) {
max_count = count;
current_max = arr[i];
}
count = 1;
}
prev_num = arr[i]; // 更新前一个元素
}
// 处理最后一个可能的连续序列
if (count > max_count || (count == max_count && arr[n - 1] > current_max)) {
max_count = count;
current_max = arr[n - 1];
}
return current_max, max_count;
}
int main() {
int arr[] = {1, 2, 2, 3, 4, 4, 4, 5, 6};
int n = sizeof(arr) / sizeof(arr[0]);
int max_value, max_count;
max_value, max_count = findMaxAndCount(arr, n);
printf("最大值: %d\n", max_value);
printf("出现次数: %d\n", max_count);
return 0;
}
```
上述代码首先检查每个元素是否是前一个元素的后续,如果是则增加计数;如果不是,则更新最大值和计数。最后,还要检查数组末尾的连续序列。
阅读全文