【发布时间】:2015-08-30 06:42:31
【问题描述】:
#include <iostream>
using namespace std;
int main()
{
int num1,num2,num3,num4;
int x;
int y;
cin>>num1>>num2>>num3>>num4;
if (num1 > num2)
{
x=num1;
}
else
{x = num2;
}
if(num3>num4)
{y = num3;
}
else
{
y= num4;
}
if (x>y)
{cout<<"the largest number is:"<<x;
}
else
{
cout<<"the largest number is :"<<y;
}
return 0;
}
这是我打印 4 个数字中最大数字的代码。 问题是我被要求优化或压缩解决方案。 我试过但找不到另一种方法来编写这样的程序。任何人都可以帮助我优化解决方案并使其更好.. 忽略语法错误..
【问题讨论】:
-
要压缩源代码,将所有 4 个值放入一个数组中。然后在 for 循环中检查当前冠军与当前元素。保留较高的那个。 4轮后离开循环并输出获胜者。你实际上可以在没有任何其他变量的情况下做到这一点。如果 (num[i]>num[0]) num[0]=num[i]。然后在循环 cout
-
提示:使用
std::vector<int>存储数字并在循环中查找最大的数字。
标签: c++ optimization logic