電話聊天狂人(25 分)

2021-08-11 01:20:25 字數 1391 閱讀 5991

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

輸入首先給出正整數n(

≤10​

5​​),為聯絡歷史條數。隨後

n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。

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

4

13005711862 13588625832

13505711862 13088625832

13588625832 18087925832

15005713862 13588625832

13588625832 3

#include #define keylength 15

typedef char elementtype[keylength+1];

typedef int index;

typedef struct lnode *ptrtolnode;

struct lnode

;typedef ptrtolnode position;

typedef ptrtolnode list;

typedef struct tblnode *hashtable;

struct tblnode

;typedef struct result

result;

int gettablesize(int n)

}index hash(elementtype key, int tablesize )

ptrtolnode getmax(hashtable h)

temp = temp->next;}}

return mmax;

}ptrtolnode find(hashtable h, elementtype key)

return null;

}void insert(hashtable &h, elementtype key)

else

}hashtable buildtable()

for(int i = 0; i < n; ++i)

return h;

}void solve(hashtable h)

temp = temp->next;}}

printf("%s %d", re.mindata, max->cnt);

if(re.sum > 1)

printf(" %d", re.sum);

printf("\n");

}int main()

電話聊天狂人 25分

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

7 14 電話聊天狂人 (25 分)

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

7 6 電話聊天狂人 (25 分)

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