我的代码有什么问题? (C ++阵列)

时间:2017-07-30 20:39:09

标签: c++ arrays

我应该输入10个整数并打印最大和最小的数字,以及最重复的数字。最重复的数字有时会打印正确的数字,有时则不会。知道为什么吗?

#include <iostream>

using namespace std;

int main()

{
int i,x,n[10],count[10],max=0,min=999999,mc=0;

cout<<"Please Enter 10 Integers\n";
for(i=0;i<10;i++){
    cin>>n[i];
    if(n[i]<min)
        min=n[i];
    if(n[i]>max)
        max=n[i];
    for(x=0;x==i;x++){
        if(n[i]==n[x])
            count[x]++;
    }
}
for(i=0;i<10;i++){
    if(count[i]>mc)
        mc=n[i];
}
cout<<"The Max is "<<max<<endl<<"The Min is "<<min<<endl<<"The most repeated number is "<<mc<<endl;
return 0;
}

1 个答案:

答案 0 :(得分:1)

for-loop

for(x = 0; x == i; x++)

没有意义,因为它永远不会运行多次。

我认为你应该把它改成

for(x = 0; x < i; x++)

通常,使用更具体的变量名称以便更好地理解并防止错误。