-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),它会发生错误。 –