输入3个整数,输出中间数. 要求用c语言编写程序: (1) 使用不超过 3 次 if-else 结构; (2) 使用不超过 3 次关系表达式,不能使用逻辑表达式.
时间: 2024-05-07 18:21:16 浏览: 66
以下是符合要求的C语言程序:
```c
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if (a >= b)
if (b >= c)
printf("%d", b);
else if (a <= c)
printf("%d", a);
else
printf("%d", c);
else if (a > c)
printf("%d", a);
else if (b > c)
printf("%d", c);
else
printf("%d", b);
return 0;
}
```
解释一下程序的思路:
首先,我们可以通过两次比较来确定三个数中的最大值和最小值。然后,中间数必然是三个数的和减去最大值和最小值。因此,我们只需要确定最大值和最小值即可。
我们可以使用嵌套的 if-else 结构来实现这一点。首先,我们可以比较 a 和 b,如果 a 大于等于 b,则 b 可能是最小值,因此我们需要再次比较 b 和 c。如果 b 大于等于 c,则 b 就是最小值;否则,我们需要再次比较 a 和 c。如果 a 小于等于 c,则 a 是最大值,因此中间数就是 b。否则,c 是最大值,因此中间数就是 a。
如果 a 小于 b,则 a 可能是最小值,因此我们需要再次比较 a 和 c。如果 a 大于 c,则 a 就是最小值;否则,我们需要再次比较 b 和 c。如果 b 小于等于 c,则 b 是最大值,因此中间数就是 a。否则,c 是最大值,因此中间数就是 b。
总之,我们只需要使用不超过 3 次 if-else 结构和不超过 3 次关系表达式即可实现这个程序。
阅读全文