📄 zhognshu.c
字号:
#include<stdio.h>
typedef struct node
{
int data;
int num;
struct node *next;
}list;
int lookup_same(list *H,int i);/* 查找是否有相同的元素 */
int lookup_max(list *H,int max);/* 查找出线次数最多的元素 */
int max;
int main(void)
{
int a[]={1,3,3,4,6,5,3,2,1,4,6,7,8,9,5,3,5,5,5},i;
list *H,*p,*n;
H=p=(list*)malloc(sizeof(list));
H->data=a[0];
max=H->num=1;
for(i=1;i<sizeof(a)/sizeof(int);i++)
{
if(H&&lookup_same(H,a[i]))/* 如果表非空并且a[i]不存在于表中则添加进去 */
{
if(!(n=(list*)malloc(sizeof(list))))
return 0;
n->num=0;
n->data=a[i];
n->num++;
p->next=n;
p=n;
}
}
p->next=NULL;
printf("出现次数最多的数是:%d,一共出线了:%d次\n",lookup_max(H,max),max);
getch();
return 0;
}
int lookup_same(list *H,int i)
{
while(H)
{
if(H->data==i)/* 如果表中存在与a[i]相等的元素,则该元素计数器加一,并且和当前最大的次数比较 */
{
if(++H->num>max)
max=H->num;
return 0;
}
H=H->next;
}
return 1;
}
int lookup_max(list *H,int max)
{
while(H)
{
if(H->num==max)
return H->data;
H=H->next;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -