通訊錄中的一條記錄包含下述基本信息:朋友的姓名、出生日期、性別、固定電話號碼、移動電話號碼。 本題要求編寫程序,錄入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 10086
2 1 7
輸出樣例:
LaoLao 057187951100 +8618618623333 F 1967/11/30 Not Found
代碼如下:
#include<stdio.h> #include<stdlib.h> #include<string.h> struct list { char name[11]; char num[17]; char phone[17]; char sex[2]; char birthday[11]; }; struct list p[100]; int main() { int i=0; int j=0; int N,K,number; scanf("%d",&N); for(i=0;i<N;i++) { scanf("%s %s %c %s %s\n",&p[i].name,&p[i].birthday,&p[i].sex,&p[i].num,&p[i].phone); } scanf("%d",&K); for(i=0;i<K;i++) { scanf("%d",&number); if(number<N&&number>=0) printf("%s %s %s %s %s\n",p[number].name,p[number].num,p[number].phone,p[number].sex,p[number].birthday); else printf("Not Found\n"); } return 0; }
心理路程
有字符串就得有數組,多個一起可以 建立結構體 ,了解結構體的模板就可以了