在数组中查找最小值 - C ++

时间:2016-10-30 12:13:43

标签: c++

这个程序:

  1. 取5个号码(正常工作)
  2. 使用forif(不工作)
  3. 处理这5个数字
  4. 显示最小值(不工作)
  5. 来源:

    #include <iostream>
    
    using namespace std;
    int main() {
        int i, a[5], min;
    
        cout << "Enter 5 numbers: " << endl;
    
        for (i = 0; i <=4; i++) {
            cin >> a[i];
        }
    
        for (i = 0; i <= 4; i++) {
            if (a[i+1] < a[i])
                min = a[i+1];
            else
                min = a[i];
        }
    
        cout << "Minimum number is: " << min << endl;
    }
    

6 个答案:

答案 0 :(得分:2)

您可以使用更简单的实现。

int min=INT_MAX;
for ( i = 0; i <= 4; i++ ) {
    if ( a[i] < min ) {
        min = a[i];
    }
}

答案 1 :(得分:2)

要计算最小值,您只需将两个连续值相互比较:

1 5 4 3 2

因此,您将15进行比较,然后将54进行比较,然后将43进行比较,然后{{1反对3

应该做的是将每个连续值与目前为止找到的最低值进行比较

首先,2的最小 HIGH 开始,然后寻找较低的一个:

min

答案 2 :(得分:1)

这应该有效:

#include <iostream>

using namespace std;

main() {
    int i, a[5], min;
    cout << "Enter 5 numbers: " << endl;
    for ( i = 0; i <=4; i++ ) {
        cin >> a[i];
    }
    min = a[0];
    for ( i = 1; i < 5; i++ ) {
        if ( a[i] < min ) {
            min = a[i];
        }
    }
    cout << "Minimum number is: " << min << endl;
    system("pause");
}

答案 3 :(得分:1)

你比较两个连续索引而不是min,Remplace if ( a[i+1] < a[i] ) by if(min&gt; a [i])并正确初始化min(= a [0]例如)。

答案 4 :(得分:0)

这有效:

#include <iostream>
#include <limits.h>
    using namespace std;

    main() {
        int i, a[5], min=INT_MAX;
        cout << "Enter 5 numbers: " << endl;
        for ( i = 0; i <=4; i++ ) {
            cin >> a[i];
        }
        for ( i = 0; i <= 4; i++ ) {
            if ( a[i] <min) {
                min = a[i];
            }

        }
        cout << "Minimum number is: " << min << endl;
        system("pause");
    }

答案 5 :(得分:0)

我是这样做的:

param()