如何查找最大值和最小值?

时间:2015-12-01 08:47:03

标签: c++

#include<iostream>
main()
{
    int limit,input;
    int sum=0;
    int i;
    std::cout<<"Please Enter the limit: ";
    std::cin>>limit;
    for(i=0;i<limit;i++)
    {
        std::cout<<"Please Input values: ";
        std::cin>>input;
        sum+=input;
    }
    std::cout<<"The sum of the values is: "<<sum;
    std::cout << std::endl;
    std::cout<<"The average of the values is: "<<sum/1+i;


}

如果我想从用户输入的值中找到最大值和最小值,该怎么办?

5 个答案:

答案 0 :(得分:4)

试试这个

int min_v = std::numeric_limits<int>::max();
int max_v = std::numeric_limits<int>::min();

for(i=0;i<limit;i++)
{
    std::cout<<"Please Input values: ";
    std::cin>>input;
    sum+=input;
    min_v = std::min(input, min_v);
    max_v = std::max(input, max_v);
}

答案 1 :(得分:1)

有多种方式, 您可以将用户输入的所有值存储到std::vector<int>。使用此向量查找元素总和,然后使用std::sort对其进行排序,以获取最大值和最小值。简单!

vector<int> v(limits);
for(int i = 0; i<limits; i++)
{
    int input;
    cin >> input;

    v.push_back(input);
}

int sum = 0;
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it)
{
    sum += *it;
}

cout << "sum = " << sum << endl;


sort(v.begin(), v.end());

cout << "Min = " << v[0] << endl;
cout << "Max = " << v[v.size() -1] << endl;

答案 2 :(得分:0)

通常,您需要执行以下操作:

  1. 声明变量以存储MaxMin值。
  2. 使用非常大的值初始化Min,例如2147483647和Max到一个非常小的值,例如-2147483648。
  3. 在循环内部,将inputMin进行比较,如果input小于Min,请更新Min。与Max相反。
  4. 那就是它。

答案 3 :(得分:0)

请尝试以下代码。

int main()
{
    int limit,input;
    int sum=0;
    int i;
    std::cout<<"Please Enter the limit: ";
    std::cin>>limit;
    int min = 0;
    int max = 0;
    for(i=0;i<limit;i++)
    {
        std::cout<<"Please Input values: ";
        std::cin>>input;

        if(i == 0)
        {
            min = input;
            max = input;
        }
        else
        {
            if(input < min)
                min = input;

            if(input > max)
                max = input;
        }
        sum+=input;
    }
    std::cout<<"The sum of the values is: "<<sum<<std::endl;
    std::cout<<"The average of the values is: "<<sum/(1+i)<<std::endl;
    std::cout<<"Max: "<<max<<std::endl;
    std::cout<<"Min: "<<min<<std::endl;

    return 0;
}

答案 4 :(得分:0)

int max=0, min=0;
for(i=0;i<limit;i++)
    {
        std::cout<<"Please Input values: ";
        std::cin>>input;
        sum+=input;

        if(i==0){
        max=input;
        min=input;
        }

        if(input>max)
          max=input;

        if(input<min)
          min=input;
    }

Now, you got the max and min value.