
因为题目中要求输入的三个数最后要从小到大排列,
所以我们先将输入的三个数(此时不管这三个数的大小)暂时对应到 a,b,c 这三个变量之中;
例如输入 3 5 1
此时对应 a b c
因为三个数最多比较三次,
即 a 与 b 比较,
a 与 c 比较,
b 与 c 比较
故在程序中要分别使用三个 if 语句来达到三次比较,
而不能使用 else if ,
这样就只成了比较一次
如果 b 比 c 大时,
就要转换二者的位置,
因为题目要求从小到大排列
- #include
-
- using namespace std;
-
- void my_sort(int *a,int *b,int *c)
- {
- if(*a > *b)
- {
- swap(a,b);//a,b此时已经是指针
- }
-
- if(*a > *c)
- {
- swap(a,c);
- }
-
- if(*b > *c)
- {
- swap(b,c);
- }
-
- cout << *a << " " << *b << " " << *c;
- }
- int main( )
- {
- int a = 0,b = 0,c = 0;
- cin >> a >> b >> c;
- my_sort(&a,&b,&c);
-
- return 0;
- }