通訊錄中的一條記錄包含下述基本資訊:朋友的姓名、出生日期、性別、固定**號碼、移動**號碼。 本題要求編寫程式,錄入n條記錄,並且根據要求顯示任意某條記錄。
輸入格式:
輸入在第一行給出正整數n(≤10);隨後n行,每行按照格式姓名 生日 性別 固話 手機給出一條記錄。其中姓名是不超過10個字元、不包含空格的非空字串;生日按yyyy/mm/dd的格式給出年月日;性別用m表示「男」、f表示「女」;固話和手機均為不超過15位的連續數字,前面有可能出現+。
在通訊錄記錄輸入完成後,最後一行給出正整數k,並且隨後給出k個整數,表示要查詢的記錄編號(從0到n−1順序編號)。數字間以空格分隔。
輸出格式:
對每一條要查詢的記錄編號,在一行中按照姓名 固話 手機 性別 生日的格式輸出該記錄。若要查詢的記錄不存在,則輸出not found。
輸入樣例:
3
chris 1984/03
/10 f +
86181779452
13707010007
laolao 1967/11
/30 f 057187951100
+8618618623333
qiaolin 1980/01
/01 m 84172333
1008621
7
輸出樣例:laolao 057187951100
+8618618623333 f 1967/11
/30not found
——————————————————————————————————————
題目分析:
第一行給出正整數n------>輸入資訊是根據輸入數字n決定,為動態分配;並且乙個人資訊有多種資料型別,考慮鍊錶;
資料輸入;
資料查詢;
資料輸出;
#include
#include
#define maxlen 16
typedef
struct addressbook
addressbook;
/* 結構體node建立查詢數字鍊錶 */
typedef
struct num
node;
addressbook *
initlist
(int n)
;void
datashow
(addressbook *head,
int n)
;node *
initnumlist
(int m)
;int
finddata
(node *p,
int index)
;int
main()
else
}return0;
}/* 利用鍊錶儲存資料 */
目前上述**只能通過測試點1。參考網上的**,基本上都用到了可變陣列(根據輸入變數確定陣列長度),以後再分析是不是可變陣列與鍊錶之間的不同導致的測試點2、3錯誤。
7 1 通訊錄的錄入與顯示
7 1 通訊錄的錄入與顯示 10 分 通訊錄中的一條記錄包含下述基本資訊 朋友的姓名 出生日期 性別 固定 號碼 移動 號碼。本題要求編寫程式,錄入n條記錄,並且根據要求顯示任意某條記錄。輸入格式 輸入在第一行給出正整數n 10 隨後n行,每行按照格式姓名 生日 性別 固話 手機給出一條記錄。其中姓...
5 34 通訊錄的錄入與顯示
通訊錄中的一條記錄包含下述基本資訊 朋友的姓名 出生日期 性別 固定 號碼 移動 號碼。本題要求編寫程式,錄入 n 條記錄,並且根據要求顯示任意某條記錄。輸入格式 輸入在第一行給出正整數 n 10 隨後 n 行,每行按照格式姓名 生日 性別 固話 手機給出一條記錄。其中姓名是不超過 10 個字元 不...
11 1 通訊錄的錄入與顯示 10
通訊錄中的一條記錄包含下述基本資訊 朋友的姓名 出生日期 性別 固定 號碼 移動 號碼。本題要求編寫程式,錄入n條記錄,並且根據要求顯示任意某條記錄。輸入格式 輸入在第1行給出正整數n 10 隨後n行,每行按照格式 姓名 生日 性別 固話 手機 給出一條記錄。其中 姓名 是不超過10個字元 不包含空...