描述
给定三个数,你可以在每两个数之间添加 加(+)减(-)乘(*) 三种运算符中的一个并得到相应的值,例如给定三个数2 ,3 ,4。
你可以构成2 + 3 + 4得到9;构成2 + 3 * 4得到14 ;构成2 *3 - 4得到2等等一系列的值。
输出这一系列值中的最大值与最小值。
输入
第一行包含一个整数n(1≤n≤10^3)n(1≤n≤103)表示样例个数后面紧跟nn行,每行三个数a,b,c(-100≤a,b,c≤100)a,b,c(−100≤a,b,c≤100)表示给定的三个数
输出
每行输出当前样例三个数通过操作得到的最大值与最小值
输入样例 1
3 1 2 3 -1 0 -2 1 1 1
输出样例 1
7 -5 2 -3 3 -1
提示
样例中
第一组 :最大值为 1 + 2 * 3 最小值为1 - 2 * 3
第二组 :最大值为 (-1) * 0 -(-2)最小值为(-1 )+ 0 + (-2)
第三组 :最大值为 1 + 1 + 1 最小值为1 - 1 - 1
代码如下:
#include<stdio.h>
int main()
{
int n,i,j;
int max,min;
int a1,a2,a3,b[11];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d%d%d",&a1,&a2,&a3);
b[0]=a1+a2+a3;
b[1]=a1+a2-a3;
b[2]=a1-a2+a3;
b[3]=a1-a2-a3;
b[4]=a1+a2*a3;
b[5]=a1*a2+a3;
b[6]=a1*a2*a3;
b[7]=a1*a2-a3;
b[8]=a1-a2*a3;
max=min=b[0];
for(j=0;j<9;j++)
{
if(b[j]>max)
{
max=b[j];
}
if(b[j]<min)
{
min=b[j];
}
}
printf("%d %d\n",max,min);
}
}