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

时间:2025-01-25 16:34:09 游戏攻略

方法一:使用比较函数

```c

include

// 返回最大值

int compare1(int a, int b) {

return a > b ? a : b;

}

// 返回最小值

int compare2(int a, int b) {

return a < b ? a : b;

}

int main() {

int a, b, c;

int max = 0; // 3个数中的最大值

int min = 0; // 3个数中的最小值

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

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

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

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

printf("\n其中最大值是 max=%d, 最小值 min=%d\n", max, min);

return 0;

}

```

方法二:使用嵌套if语句

```c

include

int main() {

int a, b, c, max, min;

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

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

// 求最大值

if (a > b) {

if (a > c)

max = a;

else

max = c;

} else {

if (b > c)

max = b;

else

max = c;

}

// 求最小值

if (a < b) {

if (a < c)

min = a;

else

min = c;

} else {

if (b < c)

min = b;

else

min = c;

}

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

return 0;

}

```

方法三:使用循环

```c

include

int main() {

int a, b, c, min, max;

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

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最小值: %d\n", max, min);

return 0;

}

```

方法四:使用指针

```c

include

int getmax(int *p, int n) {

int i, max_p;

max_p = p;

for (i = 1; i < n; i++) {

if (p[i] > max_p)

max_p = p[i];

}

return max_p;

}

int main() {

int a, b, c;

int *p;

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

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

p = &a;

printf("最大值: %d\n", getmax(p, 3));

p = &b;

printf("最大值: %d\n", getmax(p, 3));

p = &c;

printf("最大值: %d\n", getmax(p, 3));

return 0;

}

```

这些方法都可以实现求三个数的最大值和最小值。你可以根据自己的需求和编程习惯选择合适的方法。