这题怎么写(我用暴力算法写出来的)有没有啥简单的方法
加减乘除经常在一起共事,共事久了,难免会出现各种争执。一天,加减乘除又因为一个问题争论不休,因为谁也不能说服对方,自己就是最厉害的。问题是这样的:给定2个非0整数,然后对这2个非0整数进行加法、或减法、或乘法、或整除运算,谁(即某种运算)得到的结果最大,谁就是独一无二的霸主。
输入
输入2个非零整数。
输出
输出运算结果最大的所有运算式。
如果运算结果最大的运算式有多个,每行输出一个运算式,且按照"加法、减法、乘法、除法"的优先顺序逐行输出。 只有相乘和相减才会变成最大值不是吗?
相乘 > 相加(适用于 2 个正整数或 2 个负整数)
相减 > 相除(适用于 1 个正整数以及 1 个负整数)
代码:#include <stdio.h>
int main()
{
int a, b;
scanf("%d%d", &a, &b);
if((a > 0 && b > 0) || (a < 0 && b < 0)){
printf("%d 乘 %d 等于 %d 为最大值", a, b, a*b);
}
else{
int x = a > b ? a : b;
int y = a < b ? a : b;
printf("%d 减 (%d) 等于 %d 为最大值", x, y, x-y);
}
return 0;
} 傻眼貓咪 发表于 2021-11-21 18:29
只有相乘和相减才会变成最大值不是吗?
相乘 > 相加(适用于 2 个正整数或 2 个负整数)
主要还要这样
样例输入 Copy
2 2
样例输出 Copy
2+2=4
2*2=4 牵风 发表于 2021-11-21 19:31
主要还要这样
样例输入 Copy
2 2
#include <stdio.h>
int max(int a, int b){
return a > b ? a : b;
}
int min(int a, int b){
return a < b ? a : b;
}
int main()
{
int a, b, res;
scanf("%d%d", &a, &b);
res = a+b;
res = max(a, b) - min(a, b);
res = a*b;
if(!(max(a, b)%min(a, b))){
res = max(a, b)/min(a, b);
int temp = -32767;
for(int i = 0; i < 4; i++) temp = max(temp, res);
for(int i = 0; i < 4; i++){
if(res == temp){
switch(i){
case 0:
printf("%d + %d = %d\n", a, b, a+b);
break;
case 1:
printf("%d - %d = %d\n", max(a, b), min(a, b), max(a, b)-min(a, b));
break;
case 2:
printf("%d * %d = %d\n", a, b, a*b);
break;
case 3:
printf("%d / %d = %d\n", a, b, a/b);
break;
}
}
}
}
else{
int temp = -32767;
for(int i = 0; i < 3; i++) temp = max(temp, res);
for(int i = 0; i < 3; i++){
if(res == temp){
switch(i){
case 0:
printf("%d + %d = %d\n", a, b, a+b);
break;
case 1:
printf("%d - %d = %d\n", max(a, b), min(a, b), max(a, b)-min(a, b));
break;
case 2:
printf("%d * %d = %d\n", a, b, a*b);
break;
}
}
}
}
return 0;
} #include<stdio.h>
int main()
{
int a,b,c,d,e,f;
scanf("%d %d",&a,&b);
c=a+b;
d=a-b;
e=a*b;
f=a/b;
if(c>=d&&c>=e&&c>=f){
printf("%d+%d=%d\n",a,b,c);
}
if(d>=c&&d>=e&&d>=f){
printf("%d-%d=%d\n",a,b,d);
}
if(e>=d&&e>=c&&e>=f){
printf("%d*%d=%d\n",a,b,e);
}
if(f>=d&&f>=e&&f>=c){
printf("%d/%d=%d\n",a,b,f);
}
return 0;
}
页:
[1]