c语言里怎么编程求三个数的最大值和最小值

时间:2025-03-05 15:25:18 明星趣事

在C语言中,求三个数的最大值和最小值可以通过多种方法实现。以下是几种常见的方法:

方法一:使用条件语句

```c

include

int main() {

int a, b, c, min, max;

printf("请输入三个数: ");

scanf("%d %d %d", &a, &b, &c);

min = a;

if (b < min) min = b;

if (c < min) min = c;

max = a;

if (b > max) max = b;

if (c > max) max = c;

printf("最小值是: %d\n", min);

printf("最大值是: %d\n", max);

return 0;

}

```

方法二:使用三元运算符

```c

include

int main() {

int a, b, c, min, max;

printf("请输入三个数: ");

scanf("%d %d %d", &a, &b, &c);

min = (a < b) ? ((a < c) ? a : c) : ((b < c) ? b : c);

max = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);

printf("最小值是: %d\n", min);

printf("最大值是: %d\n", max);

return 0;

}

```

方法三:使用函数

```c

include

// 函数声明

int findMax(int a, int b, int c);

int findMin(int a, int b, int c);

int main() {

int a, b, c;

printf("请输入三个数: ");

scanf("%d %d %d", &a, &b, &c);

int max = findMax(a, b, c);

int min = findMin(a, b, c);

printf("最小值是: %d\n", min);

printf("最大值是: %d\n", max);

return 0;

}

// 函数定义

int findMax(int a, int b, int c) {

return (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);

}

int findMin(int a, int b, int c) {

return (a < b) ? ((a < c) ? a : c) : ((b < c) ? b : c);

}

```

方法四:使用数组和循环

```c

include

int main() {

int a, b, c, max, min;

printf("请输入三个数: ");

scanf("%d %d %d", &a, &b, &c);

int numbers = {a, b, c};

max = numbers;

min = numbers;

for (int i = 1; i < 3; i++) {

if (numbers[i] > max) max = numbers[i];

if (numbers[i] < min) min = numbers[i];

}

printf("最小值是: %d\n", min);

printf("最大值是: %d\n", max);

return 0;

}

```

方法五:使用C99的`fmax`函数

```c

include

include

int main() {

double a, b, c, max, min;

printf("请输入三个数: ");

scanf("%lf %lf %lf", &a, &b, &c);

max = fmax(fmax(a, b), c);

min = fmin(fmin(a, b), c);

printf("最小值是: %lf\n", min);

printf("最大值是: %lf\n", max);

return 0;

}

```

以上方法都可以有效地求出三个数的最大值和最小值。你可以根据自己的需求和习惯选择合适的方法。