假设a,b,c是3个互不相等的整数。下列代码取出它们中居中的数值,记录在m中。其中的swap()函数可以交换两个变量的值。请完善代码。
if(a>b) swap(&a, &b);
if(b>c) swap(&b, &c);
______________________;
int m = b;
分析:
由居中值想到可能与排序相关,由m=b知道经过变换后b为居中值,也就是排序后b为居中值,当执行完第1句if(a>b) swap(&a, &b)时,有a<=b,当执行完第2句if(b>c) swap(&
b, &c)时,有b<=c,所以c是最大值,但是b和c有可能在第2步交换,因此b的值可能变化,所以第3句应为if(a>b) swap(&a, &b)。
解:
if(a>b) swap(&a, &b);
if(b>c) swap(&b, &c);
if(a>b) swap(&a, &b)
int m = b;