1 /*
 2  * Main.c
 3  * F4-结构-04. 通讯录的录入与显示
 4  *  Created on: 2014年8月26日
 5  *      Author: Boomkeeper
 6  *******部分通过*********
 7  */
 8 
 9 #include <stdio.h>
10 /**
11  * 通讯录结构体
12  */
13 struct contact {
14     char name[11]; //“姓名”是不超过10个字符
15     char birthday[11]; //生日按“yyyy/mm/dd”的格式给出年月日
16     char gender; //性别用“M”表示“男”、“F”表示“女”
17     char tel[16]; //“固话”和“手机”均为不超过15位的连续数字,前面有可能出现“+”
18     char mobile[16];
19 };
20 
21 int main(void) {
22 
23     int n; //题目中的N
24 
25     scanf("%d", &n);
26     getchar();
27     /**
28      * 创建contact类型的数组,存储通讯录
29      */
30     struct contact contacts[n];
31     /**
32      * 录入通讯录
33      */
34     int i;
35     for (i = 0; i < n; i++) {
36         scanf("%s %s %c %s %s",
37                 contacts[i].name,
38                 contacts[i].birthday,
39                 &(contacts[i].gender),
40                 contacts[i].tel,
41                 contacts[i].mobile);
42         getchar();
43     }
44 
45     int k; //题目中的K
46     int search[11];//记录需要查询的编号(序号)
47 
48     scanf("%d", &k);
49     for (i = 0; i < k; i++)
50         scanf("%d", &search[i]);
51     /**
52      * 输出结果
53      */
54     for (i = 0; i < k; i++) {
55         if (search[i] < n && search[i] >= 0)//n条通讯录,编号0到n-1
56             printf("%s %s %s %c %s
",
57                     contacts[search[i]].name,
58                     contacts[search[i]].tel,
59                     contacts[search[i]].mobile,
60                     contacts[search[i]].gender,
61                     contacts[search[i]].birthday);
62         else
63             printf("Not Found
");
64     }
65 
66     return 0;
67 }

*结构-04. 通讯录的录入与显示-风君雪科技博客

花了辣么长时间做完这道题,( ⊙ o ⊙ )啊居然才10分!!!不(qu)忍(ta)直(ma)视(d),9.6可如何是好…10分的题目还没完全通过,桑心…

预计今晚可以开刷PAT (Basic Level)了。

题目链接:

http://pat.zju.edu.cn/contests/basic-programming/%E7%BB%93%E6%9E%84-04

参考:

http://www.cnblogs.com/aexin/p/3903375.html?utm_source=tuicool

.