7 20 電話聊天狂人 25分

2021-10-07 13:34:48 字數 1276 閱讀 1818

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。

輸入首先給出正整數n(≤10​5​​),為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。

在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則輸出狂人中最小的號碼及其通話次數,並且附加給出並列狂人的人數。

4

13005711862 13588625832

13505711862 13088625832

13588625832 18087925832

15005713862 13588625832

13588625832 3
#include #include #include struct lnode;//儲存每個**號碼的結構體 

typedef struct lnode* position;

typedef struct lnode* list;

struct htable;

typedef struct htable* hashtable;

int prime[1000000];

void is_prime() }}

int nextprime(int n)

else return n;

}//確定雜湊表的大小是素數

hashtable creat(int size)

return h;}

void destory(hashtable h)//釋放空間

int hash(int key,int size)

position find(char key,hashtable h)

return p;//返回空或者相應的位址 }

void insert(char key,hashtable h)

else}

void findmax(hashtable h)

else if(p->cnt == maxcnt)

maxsame++;

}p = p->next;

} }printf("%s %d",minphone,maxcnt);

if(maxsame > 1)printf(" %d\n",maxsame);

}int main()

findmax(h);

destory(h);

return 0;

}

7 20 電話聊天狂人

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...

電話聊天狂人(25 分)

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後 n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,...

電話聊天狂人 25分

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...