C语言统计之众数,新手求大神指教,多谢!

求一组数据的众数。 众数指一组数据中出现次数最多的那些数。
input
每行代表一组数据,第一个整数n表示本组数据的个数,接下来的n个double数是数据,最后一行的0表示结束
output
整数输出众数的个数,保留两位小数输出众数(按升序排列空格分割), 再输出众数的次数,见样例。注意两个小 数差的绝对值小于1e-6即为相等,见样例
sample input
3 2 2 2
8 1.0 2.0 3.0 1.0 2.0 3.0 4.0 5.0
0
sample output
1 2.00 3
3 1.00 2.00 3.00 2

求大神指教!

c

1个回答

输入的话使用while 循环,当判断输入的值为0则跳出例如 :

while(1)
{
scanf();// 个数
if == 0
break;

        for//一次遍历
    {
        scan
    }

}

他的输入行数不确定,我想到的使用链表来维护比较好, 链表中每个节点为一个结构体数组指针最好,结构体的成员包括要输入的值,还有这个值的出现此处.

当每次输入后先检测是否已经输入,是则直接在相应位置加一....
最后出来的结果再从每个节点开始的遍历结构体数组整理即可

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问