纯粹的热爱 2022-06-12 23:08 采纳率: 60%
浏览 38
已结题

[数据结构]用哈希统计整数次数

我的题目【为什么输不出次数】
【问题描述】

用HASH方法统计整数出现的次数

【输入形式】

以逗号分隔,#结尾的整数
【输出形式】

等式。左侧为排序好的整数,右侧为其出现的次数。

【样例输入】

2,6,7,13,18,3,6,1,3,7#
【样例输出】

1=1
2=1
3=2
6=2
7=2
13=1
18=1
代码如下
#include<stdio.h>

typedef struct hx{
int key;
int num;

}hx;

int main()
{
int s,i=0,max,j,w;
char c;
int a[1000];
scanf("%d%c",&s,&c);
a[i]=s;
max=s;
while(c!='#'){

scanf("%d%c",&s,&c);
if(max<s)max=s;
i++;
a[i]=s;
}
hx b[100];

for(j=1;j<=max;j++)
{
b[j].key=j;
b[j].num=0;

}
for(j=0;j<=i;j++)
for(w=1;w<=max;w++)
{
if(a[i]==b[w].key)b[w].num=b[w].num+1;
}
for(w=1;w<=max;w++)
{
if(!b[w].num)
{
printf("%d=%d\n",b[w].key,b[w].num);

}
}

return 0;
}

  • 写回答

1条回答 默认 最新

  • WaitIKnowYou 2022-06-12 23:43
    关注

    定义一个数组初始化元素为0,循环输入遇到#结束
    循环: 输入s
    a[s]++
    哈希表 key 存s value存a[s]
    循环结束

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月21日
  • 已采纳回答 6月13日
  • 创建了问题 6月12日

悬赏问题

  • ¥15 怎么改成循环输入删除(语言-c语言)
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误
  • ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
  • ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
  • ¥100 描述一下元器件的基本功能,pcba板的基本原理
  • ¥15 STM32无法向设备写入固件
  • ¥15 使用ESP8266连接阿里云出现问题