-1
我想通過條件循環找出第二個最大值。我每次獲得0作爲第二最大值。我的錯誤在哪裏,或者我該怎麼做?如何查找第二個最大值在C++循環中
這裏是我的代碼:
#include<iostream>
using namespace std;
int main()
{
int sum=0,n, c=1;
int second_max=0;
float avg;
int max, min;
cin >> n;
sum = sum + n;
max = min = n;
while (n != 0)
{
cin >> n;
if (n==0)
break;
sum =sum+n;
c++;
if (max < n)
max = n;
if(second_max<n && max!=n) //code for finding second highest value
second_max = n;
if (min>n)
min = n;
}
cout << "sum: " << sum<<'\n';
avg = float(sum)/c;
cout << "average: " << avg<<'\n';
cout << "maximum no: " << max<<'\n';
cout << "minimum no: " << min <<'\n';
cout << "2nd maximum no: " << second_max << '\n';
}
謝謝你!你真好! –
我需要稍微編輯第二個if語句,因爲如果稍後鍵入* exactly * max的值(second_max將等於max),它會發生錯誤。 –