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);}