C++ 如何从用户的5个输入中找到最大值?
如果用户输入五个值,如何在这五个值之间找到最大值C++ 如何从用户的5个输入中找到最大值?,c++,C++,如果用户输入五个值,如何在这五个值之间找到最大值 cin >> a >> b >> c >> d >> e; 在这段代码中,我们接受了5个输入。现在我们必须找到用户输入的最大值。您可以尝试这个答案 for (i = 0; i < 5; i++) { cin>>a[i]; } //Assume that a[0] is greatest value greatest = a[0];
cin >> a >> b >> c >> d >> e;
在这段代码中,我们接受了5个输入。现在我们必须找到用户输入的最大值。您可以尝试这个答案
for (i = 0; i < 5; i++) {
cin>>a[i];
}
//Assume that a[0] is greatest value
greatest = a[0];
for (i = 0; i < 10; i++) {
if (a[i] > greatest) {
greatest = a[i];
}
}
printf("Greatest of ten numbers is %d", greatest);
return 0;
像这样的东西应该可以,在手机上输入,所以请原谅任何语法错误
std::vector<int> user_inputs;
while (user_inputs.size() < 5)
{
int user_arg = 0;
std::cout << "Please enter number " << (user_inputs.size() + 1) << ": ";
std::cin >> user_arg;
user_inputs.push_back(user_arg);
}
std::sort(user_inputs.begin(), user_inputs.end());
std::cout << "Lowest value entered:" << user_inputs.front() << std::endl;
std::cout << "Highest value entered:" << user_inputs.back() << std::endl;
我需要的最好的代码是
int a,b,c,d,e,max;
cin>>a;
max=a;
cin>>b;
if(b>max)
max=b;
cin>>c;
if(c>max)
max=c;
cin>>d;
if(d>max)
max=d;
cin>>e;
if(e>max)
max=e;
最惯用的方法是使用与名称完全一致的名称。为此,值需要在容器中,例如,对于已知数量的5个值,一个括号初始化的std::array,或者对于未知数量的值,一个std::vector就可以了 下一个最好的方法是按照@Dilusha的建议进行排序,但当然还有部分排序和std::nth_元素,它们对于相同的净结果所做的工作更少,因为您实际上不需要排序序列,您只需要在正确的位置使用一个元素——因此,完整的排序是浪费的
或者,您当然可以使用result=std::maxresult的序列,a[bcd…随便什么],它不是很优雅,但可以很好地完成工作。请记住首先将结果初始化为零。Bro我所知道的是通过使用循环。但是我必须以不同的方式存储这5个整数才能继续我的问题。这就是我为什么要展示这个。在使用循环时,我们必须只使用一个变量来实现这一点。我不是故意的。只是想说“先试试再来”。不要把你的问题放在这里。好吧,让我给你一个提示。获取数组中的条目并按递增或递减顺序对该数组进行排序。由你决定。就我个人而言,我也觉得兄弟不尊重你。这是对特殊人群的俚语。