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

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

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

用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 stm32f103串口无法正常发送接收数据
    • ¥15 如何仅使用递归法改变链表顺序
    • ¥30 频率与占空比均可调的方波发生器
    • ¥15 VB6.0中PICTUREBOX加载本地图片无法显示
    • ¥100 关于游戏app session获取的问题
    • ¥15 爬虫程序爬取TTGChina网站文章代码
    • ¥35 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。
    • ¥15 如何用下图方法在AMESim中搭建离心泵模型
    • ¥15 C#连接服务器,请求时报Ssl/Tsl未能建立安全通道
    • ¥15 xcode15build的c++ dylib在10.15上不兼容