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\n",
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\n");
64 }
65
66 return 0;
67 }
花了辣麼長時間做完這道題,( ⊙ 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
.
題目:通訊錄管理系統一;問題描述:通過該系統實現對通訊錄信息進行錄入,顯示,修改,刪除,插入,排序,保存等操作管理。二;功能要求: 1:本系統采用一
你確定你發完整了嗎?
怎麼缺好多東西啊?
你的chaxun函數在哪???
申明結構體變量時M的值是哪來的???
我幫你改了一下,大體上是相同的
#include <stdio.h>#include <string.h>#define M 5//定義結構體struct tongxunlu { char name[20];char tel[10]; };//編寫查詢函數 (1) 輸入要查詢人的姓名(2) 遍歷數組:用循環,判斷數組元素的姓名成員的值是否等於輸入項,若等則定位顯示,退出循環。void chaxun(struct tongxunlu su[M]){char *q;int i;printf("請輸入要查詢的姓名:\n");scanf("%s",q);for(i=0;i<M;i++){ if(strcmp(su[i].name,q)==0){ printf("result:%s %s\n",su[i].name,su[i].tel);break;}}}//編寫主函數(1) 聲明結構數組(2) 循環輸入姓名和電話,並存入數組(3) 調用查詢函數void main(){char *p;int i;struct tongxunlu su[M];printf("請輸入姓名和電話:\n");for(i=0;i<M;i++)scanf("%s%s",su[i].name,su[i].tel);chaxun(su);}