我使用这种方法:首先查找5个数字中最大的数字,然后在显示最大数字后保存最大数字的最大数组的下标,像这样做
array[ivariable] = 0 ;
,以便第一个最大值设置为零,并且不再位于数组中。 并再次做同样的事情,找到最大的,但我没有得到我想要的。 它是一个逻辑错误。 感谢查找两个最大数字,C++
#include <iostream>
using namespace std;
int main(void)
{
int counter, large,number,det_2, i , large3, det_3= 0;
int det[5] = {0,0,0,0,0};
for(int k(0); k < 5 ; k++)
{
cout << "Enter the number " << endl ;
cin >> det[k] ;
}
for(i; i<5; i++)
{
large = det[i] ;
if (large > det_2)
{
det_2= large ;
counter = i ;
}
else
{
}
}
cout << "Largest among all is " << det_2 << endl;
det[i] = 0 ;
for(int j(0); j<5; j++)
{
large3 = det[j] ;
if(large3 > det_3)
{
det_3= large3 ;
}
else
{
}
}
cout << "Second largest " << large3 << endl ;
system("PAUSE");
}
一个问题是,在与之比较之前,您不会初始化'det_2'。 –
查找[std :: max_element](http://en.cppreference.com/w/cpp/algorithm/max_element)。 –
你对'large> det_2'的比较结果是什么,其中'det_2'包含垃圾值 – exexzian