今天我们学一道典型例题
有三个整数a,b,c,要求输出三个数中的最大数,并由小到大输出这三个数

第一问:

第一种方法 

#include <stdio.h>


int main() {

int a, b, c, t, x;


printf("请输入a,b,c的值");

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

if (a > b) {

 t = a;

 if (t > c)

  x = t;

 else

  x = c;

}  

else {

 t = b;

 if (t > c)

  x = t;

 else

  x = c;


}

printf("%d", x);


return 0;

}

第二种方法

#include <stdio.h>

int main(){

int a,b,c;

printf("请输入a,b,c的值");

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

if (a>b&&a>c){

max=a;

}

if (b>a&&b>c){

max=b;

}

if (c>b&&c>a){

max=c;

}

printf("%d",max);

return 0;

}

第三种方法(定义一个最大值)

#include <stdio.h>

int main(){

int a,b,c,max;

printf("请输入a,b,c的值");

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

max=a;

if (b>max){

max=b;

}

if (c>max){

max=c;

}

printf("%d",max);

return 0;

}

第二问

​#include <stdio.h>


int main() {

int a, b, c, t;


printf("请输入a,b,c的值");

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

if (a > b) {

 t = a;

 a = b;

 b = t;

}

if (a > c) {

 t = a;

 a = c;

 c = t;

}

if (a > b) {

 t = a;

 a = b;

 b = t;

}

printf("%d %d %d", a, b, c);


return 0;

}

注意:​第二问所使用的方法叫“冒泡法”,通过转换,每次都使大数向后移,小数向前移,一共通过三次冒泡法,从而使数字从小到大排列