已知一个整数序列A=(a0,a1,…,an−1),其中0≤ai≤n,0≤i<n)。若某元素在数据序列中重复出现的次数为m,且m≥n/2,则称x为A的主元素。
如A=(0,5,5,3,5,7,5,5),则5为主元素;又如A=(0,5,5,3,5,1,5,7),则A中没有主元素。
假设顺序表A中有n个元素,请设计算法,找出A的主元素,若存在主元素,则输出主元素;否则输出A中没有主元素的信息。
输入
每组数据有两行,第一行为一个整数n,代表数组中有n个元素。第二行为数组中的n个元素(元素之间用空格分隔)。
输出
每组数据输出一行,若数组中存在主元素,输出主元素的值,若数组中不存在主元素,则输出A中没有主元素。
输入示例1
5
1 2 3 4 5
输出示例1
There is no main element.
输入示例2
7
4 5 5 5 1 5 7
输出示例2
The main element of A is 5.
[程序代码]
#include<stdio.h>
void InitArray(short *, short);
short MainElement(short *, short);
int main()
{
/* 数据集合中元素的个数 */
short N;
while(scanf("%hd", &N) !&