用C语言设计一个从三个整数类型数据中得到最大数值和次大数值的函数
时间: 2024-09-14 15:17:17 浏览: 58
在C语言中,设计一个函数来找到三个整数中的最大值和次大值,可以采用多种方法,这里我们提供一种基于数组的方式来实现。首先,我们可以创建一个函数接收这三个整数作为参数,并返回一个结构体,该结构体包含这两个值。假设我们有一个名为`max_two_numbers(int a, int b, int c)`的函数:
```c
#include <stdio.h>
#include <assert.h>
typedef struct {
int max;
int second_max;
} MaxPair;
MaxPair find_second_largest(int a, int b, int c) {
// 初始判断,设置两个最大值候选
int first_max = a > b ? (a > c ? a : c) : (b > c ? b : c);
int second_max = a > b ? b : a;
// 检查并更新second_max
if (first_max != a && a > second_max)
second_max = a;
else if (first_max != b && b > second_max)
second_max = b;
else if (first_max != c && c > second_max)
second_max = c;
return (MaxPair) { .max = first_max, .second_max = second_max };
}
int main() {
int numbers[] = {5, 10, 15};
MaxPair result = find_second_largest(numbers[0], numbers[1], numbers[2]);
printf("最大值: %d\n", result.max);
printf("次大值: %d\n", result.second_max);
return 0;
}
```
这个函数会找出并返回三个输入整数中的最大值和次大值。
阅读全文