给定一个数组,如果其中有一个元素出现的次数大于数组大小的二分之一,那么这个元素就叫主元素。 Let's begin #include<iostream> #include<cstdlib> #include<time.h> #define MAXSIZE 100 using namespace std; bool majority(int array[],int n); bool ME(int[],int); int main(void) { srand((int)time(0)); int n; int array[MAXSIZE]; while(cin>>n) { for(int i=1;i<=n;i++) { cin>>array[i]; } if(majority(array,n)) { cout<<"yes,you can!"<<endl; } else { cout<<"what a foolish man!"<<endl; } } return 0; } bool majority(int array[],int n) { if(ME(array,n)) { return true; } else { return ME(array,n); } } bool ME(int array[],int n) { int index=rand()%n+1; int x=array[index]; int count=0; for(int i=1;i<=n;i++) { if(array[i]==x) { count++; } } return count>(n/2); }