程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-電話號碼本算法問題中一人多號碼問題的解決方案

c語言-電話號碼本算法問題中一人多號碼問題的解決方案

編輯:編程綜合問答
電話號碼本算法問題中一人多號碼問題的解決方案

設計一個電話號碼本算法,要求人物有兩個及以上的電話號碼的情況的C語言代碼實現

最佳回答:


如果你不考慮可擴展性和內存的浪費問題,那麼下面這個基本符合你的要求,注意:這裡沒有進行錯誤檢測,和內存回收,這個自己可以稍加修改

 #include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct _CallBookMark
{
    char name[30];  //名字
    char* telephone[10];    //電話號碼,可存入10個,可根據需要添加或者減少 
    int count;  //當前存儲多少個電話號碼 
}CallBookMark, *PCallBookMark;

void Init(PCallBookMark contact, const char* name)  //初始化個人電話普,只存入姓名 
{    
    strcpy(contact->name, name);                    
    contact->count = 0; 
}

void Insert(PCallBookMark contact, const char* callNumer)
{
    unsigned int numlength = strlen(callNumer) + 1; //
    contact->telephone[contact->count] = (char*) malloc(numlength);
    strcpy(contact->telephone[contact->count++], callNumer);
}

void Display(PCallBookMark contact)
{
    unsigned count = 0;
    printf("Name: %s\n", contact->name);
    while(count < contact->count)
    {
        printf("\t%s\n", contact->telephone[count++]);
    }
}


int main(void)
{
    CallBookMark contact;
    Init(&contact, "王小二");
    Insert(&contact, "13123454435");
    Insert(&contact, "13123454123");        
    Insert(&contact, "13123454356");
    Display(&contact);

    return 0;               
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved