pta用函数求众数(学习笔记)

博客介绍了如何使用C语言解决PTA中的众数问题。众数是指在一组数据中出现次数最多的数,博客提供了输入格式说明,指出数据组数不超过50,每组数据包含不超过10000个在0到1000之间的整数。
摘要由CSDN通过智能技术生成

2022.10.29

众数是指在一组数据中,出现次数最多的数。例如:1, 1, 3 中出现次数最多的数为 1,则众数为 1。

给定一组数,你能求出众数吗?

输入格式:

输入数据有多组(数据组数不超过 50),到 EOF 结束。

对于每组数据:

第 1 行输入一个整数 n (1 <= n <= 10000),表示数的个数。
第 2 行输入 n 个用空格隔开的整数 Ai (0 <= Ai <= 1000),依次表示每一个数。

#include <stdio.h>
int  fun(int a[],int n) //假设现在a[] = 1 1 2 1 3,n = 5
{
    int i,y;
    int s[1000] = {0};//定义并初始化s[]
    int max = s[0];//可以随便赋值一个出现次数最多的数
    for(i = 0;i < n;i++)//用来找个数字出现次数
    {
        y = a[i];//比如y=a[0]=1
        s[y]++;/* s[1]是一个int型数据,s[1]++表示s[1]自身加1;可以表示这个数字,又可以表示数字出现的次数,数位0-9
                  反映到这里就是s[1] == 3,s[2] == 1,s[3] == 1; */
    }
    for(i = 0; i < 1000; i++)//用来找出现次数最多的数字出现的次数
    {
        if (s[i] > max)
          
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值