早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用C#完成下列功能(众数问题)。a[]是一个排好序的数组(int),输出这个数组中重复出现次数最多的那个元素并且要记录重复了多少次,如果有重复次数最多的元素有多个(就是找到了重

题目详情
用C#完成下列功能(众数问题)。a[]是一个排好序的数组(int),输出这个数组中重复出现次数最多的那个元素 并且要记录重复了多少次,如果有重复次数最多的元素有多个(就是找到了重复次数最多的元素,例如重复n次,但重复n次的元素还有其它的元素),则都要输出。
▼优质解答
答案和解析
以10个元素为例: int[] numbers = new int[10] { 1, 1, 2, 2, 2, 2, 2, 3, 3, 3 }; int[,] result = new int[10,2]; int i,j,a,b; //初始化结果数组 for (i = 0; i < 10; i++) { result[i, 1] = 0; } //统计个数写入结果数组 result[0, 0] = numbers[0]; j = 0; for (i = 0; i < 10; i++) { if (numbers[i] == result[j, 0]) { result[j, 1]++; } else { j++; result[j, 0] = numbers[i]; result[j, 1]++; } } //对result按result[i,1]由大到小排序 bool goon = true; while (goon) { goon = false; for (i = 0; i < 9; i++) { if (result[i,1]