C語言例項解析精粹學習筆記 32

2022-08-28 23:15:26 字數 1204 閱讀 8369

例項32:

編制乙個包含姓名、位址、郵編和**的通訊錄輸入和輸出函式。

思路解析:

1、用結構體來完成姓名、位址、郵編和**的組合。

2、結構體指標的使用。

3、malloc的使用

4、scanf函式的返回值是正確輸入的變數個數

程式**如下:

1 #include 2 #include 3 #include 45

#define ziplen 10

6#define phonlen 1578

struct

stu9;15

16int readstu(struct stu *dpt); /*

函式readstu用於輸入乙個通訊錄函式

*/17

int writestu(struct stu *dpt); /*

函式writestu用於輸出通訊錄

*/18

19int

main()

2029

30int readstu(struct stu *dpt)

3142

else

43return0;

44 printf("

please input the address:\n");

45if(scanf("

%s",buf) == 1)46

51else

5256 printf("

please input the zip code:\n");

57if(scanf("

%s",buf) == 1

)58 strncpy(dpt->zip,buf,ziplen-1

);59

else

6065 printf("

please input the phone number:\n

");/*

輸入**號碼

*/66

if(scanf("

%s",buf)==1

)67 strncpy(dpt->phone,buf,phonlen-1

);68

else

6974

return1;

75}7677

int writestu(struct stu *dpt)

78

C語言例項解析精粹學習筆記 26

例項26 阿拉伯數字轉換為羅馬數字,將乙個整數n 1 9999 轉換為羅馬數字,其中數字和羅馬數字的對應關係如下 原書中的開發環境很老,我也沒有花心思去研究。自己在codeblocks中進行開發的,所以程式與原書中的程式有很多地方不同,但是關鍵的一些程式還是採用原書中的 1 include 2 in...

C語言例項解析精粹學習筆記 43(希爾排序)

例項說明 用希爾排序方法對陣列進行排序。由於書中更關注的例項,對於原理來說有一定的解釋,但是對於第一次接觸的人來說可能略微有些簡略。自己在草稿紙上畫了好久,後來發現網上有好多很漂亮的原理圖。下面將原書中的程式附上 主函式裡的程式略有差異 1 include 2 include 3 4 define ...

C語言例項解析精粹學習筆記 42(插入排序)

例項說明 將乙個整數陣列按從小到大的順序進行排序。主要學習基本的插入排序和改進的氣泡排序的演算法和應用 思路1 從第乙個資料開始,分別比較其後的資料,若比它小,則將這兩個數的位置交換 從第乙個資料開始,直到最後。1 include 2 include 3 define max 10045 67int...