一:代码实现:
#includeint main() { int a = 0; int b = 0; int c = 0; scanf("%d %d %d", &a, &b, &c); if (a < b) { int tmp = a; a = b; b = tmp; } if (a < c) { int tmp = a; a = c; c = tmp; } if (b < c) { int tmp = b; b = c; c = tmp; } printf("%d %d %dn", a, b, c); return 0; }
二、代码讲解:
#includeint main() { int a = 0; int b = 0; int c = 0; //输入 scanf("%d %d %d", &a, &b, &c); //计算 //printf("%d %d %dn", a, b, c);//这样的输出顺序要保证最大值在a,最小值在c中 //把a和b的较大值放到a里边,再把a和c的较大值放到a里,即保证a,b,c中a最大。b和c比,把较大值放到b里,把较小值放到c里。c //a和b的较大值放到a中: if (a < b) { //两个变量交换需要第三个变量 int tmp = a;//把a先放到tmp中, a = b;//这时就可以放b了。 b = tmp;//不是b=a }//此时就把a和b的值交换了。需要临时变量tmp来交换a和b的值。 //把b和c的较大值放到c中 if (a < c)//若a>c就不用了 { int tmp = a;//先把a的值赋给tmp,a就空了,c的值放到a里去,c就空了,tmp放到c里,这就交换了。 a = c; c = tmp; } //以上的两个if完成的是a,b,c中的最大值。 // 把b和c的较大值放到b中 if (b < c) { int tmp = b; b = c; c = tmp; } //输出 printf("%d %d %dn", a, b, c); return 0; }



