描述
把两个整数的加法、减法、乘法这三个运算的得数,按照从小到大的顺序输出。如果得数中有重复的数字,那么只要输出一次。
输入
两个整数a和b
输出
把a+b、a-b、a*b这三个数字按从小到大的顺序输出。如果其中有重复的数字,那么只要输出一次。
每两个数字之间保留一个空格,最后不要换行。
样例输入
2 0
样例输出
0 2
我的代码:
#include<iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
if (a + b != a - b && a - b != a * b && a + b != a * b)
{
if (a + b > a - b && a - b > a * b)
cout << a * b << " " << a - b << " " << a + b;
else if (a + b > a * b && a * b > a - b)
cout << a - b << " " << a * b << " " << a + b;
else if (a - b > a + b && a + b > a * b)
cout << a * b << " " << a + b << " " << a - b;
else if (a - b > a * b && a * b > a + b)
cout << a + b << " " << a * b << " " << a - b;
else if (a * b > a + b && a + b > a - b)
cout << a - b << " " << a + b << " " << a * b;
else if (a * b > a - b && a - b > a + b)
cout << a + b << " " << a - b << " " << a * b;
}
else if (a + b == a - b && a - b == a * b)
{
cout << a + b;
}
else if (a + b == a - b && a + b != a * b)
{
if (a + b < a * b)
cout << a + b << " " << a * b;
else
cout << a * b << " " << a + b;
}
else if (a * b == a - b && a * b != a + b)
{
if (a + b < a * b)
cout << a + b << " " << a * b;
else
cout << a * b << " " << a + b;
}
else
{
if (a + b < a - b)
cout << a + b << " " << a - b;
else
cout << a - b << " " << a + b;
}
return 0;
}
思路:总体分为三大类:
①a+b a-b ab三个数各不相等;
又分为6种情况;
②a+b a-b ab中有两个数相等;
又分为32=6种情况;
③a+b=a-b=ab;