三目运算符求三个数中最大、最小、中间值

  c中只有一个三目运算符,也就是说看完我这篇博客就把c中所有的三目运算符都掌握了,哈哈

 公式:表达式1>表达式2?表达式3:表达式4    

a>b?a:b   等价于:

if(a>b)
    return a;
else if(a

表达式3和表达式4可以是任何东西。如:a>b?5:6 也是可以的

 上面的内容掌握后,下面用三目运算符求最大最小就很容易够以理解了。

#include
int min(int a,int b,int c)
{
	int z;
	z = a > b ? (b > c ? c : b) : (a > c ? c : a);
}
int max(int a, int b, int c)
{
	int z;
	z = a > b ? (b > c ? a : (a > c ? a : c)) : (a > c ? b : (b > c ? b : c));
}
int middle(int a, int b, int c)
{
	int z;
	z = a > b ? (b > c ? b : (a > c ? c : a)) : (a > c ? a : (b > c ? c : b));
}
int main()
{
	int a, b, c;
	while (scanf("%d %d %d", &a, &b, &c) == 3)
	{
		printf("最小的数是:%d", min(a, b, c));
		printf("最大的数是:%d", max(a, b, c));
		printf("中间的数是:%d", middle(a, b, c));
	}
	
}

 

你可能感兴趣的:(C,C++,c语言,算法)