我使用這種方法:首先查找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