已知一个整数序列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中没有主元素。
5 1 2 3 4 5
There is no main element.
7 4 5 5 5 1 5 7
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) !&