这个程序:
for
和if
(不工作)来源:
#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;
}
答案 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
因此,您将1
与5
进行比较,然后将5
与4
进行比较,然后将4
与3
进行比较,然后{{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()