需要输出Max和min(无数组)

  • 本文关键字:数组 min 输出 Max c++
  • 更新时间 :
  • 英文 :


我正在编写一个程序,提示用户输入整数。
当用户输入0时,程序停止读取。
它应该输出输入数字中的最大和最小元素。我必须不使用数组。

输入:1 2 3 4 5 0

输出:min=1 max=5

我代码:

#include <iostream>
using namespace std;
int main()
{
int n,max,min;
min=0;
max=0;
do{
cin>>n;
if(n>max){
max=n;
}
if(n<min){
min=n;
}
}
while(n!=0);
cout<<max<<endl;
cout<<min;
}

问题是,当我从我的例子输入整数的输出是min=0 max=5,而不是min=1 max=5.
我怎么能解决它?

您可能想先输入一个起始值,然后循环:

int main()
{
int n, min, max;
cin >> n;
min = n;
max = n;
if (n != 0)
{
while (cin >> n)
{
if (n == 0) break;
if (n > max) max = n;
if (n < min) min = n;
}
}
std::cout << "min: " << min << ", max: " << max << "n";
return 0;
}

在上面的代码中,读取第一个值并检查是否为0。如果该值为零,则程序停止输入。

最小值和最大值被赋给第一个值。

循环开始。

最新更新