目錄表

國立屏東商業技術學院 資訊工程系 程式設計(二)

作業12

字串


turnin code c.hw12

due date: March 25, 23:59

目的

練習字串的基本使用

第1題

  1. 設計一個名為getStrings.c的程式
  2. 讓使用者輸入多個字串,直到輸入的字串為“quit”為止
  3. 假設每個輸入的字串都不超過20字元(再加上一個'\0'字元)
  4. 所輸入的字串中可包含空白字元
  5. 將所輸入的字串中Lexicographic order最大者與最小者輸出(提示:以strcmp()函式進行比較)
  6. 程式執行結果參考:

[9:19 user@ws hw12] ./a.out 
Input a string: usb disk 
Input a string: zigbee
Input a string: cast
Input a string: test file
Input a string: quit
 
Smallest word is "cast".
Largest word is "zigbee".
[9:19 user@ws hw12]
執行結果與輸出格式必須與上述一致

第2題

  1. 設計一個名為sum.c的程式
  2. 此程式執行時,使用者以命令列引數方式輸入多個整數
  3. 將使用者在命令列引數中所所輸入的數字以atoi()函式轉換為整數值後加總輸出
  4. 命令列引數中非數值資料視為0
  5. 程式執行結果參考:

[9:19 user@ws hw12] ./a.out 1 2 3
Sum=6.
[9:19 user@ws hw12] ./a.out
No input data.
[9:19 user@ws hw12] ./a.out 132 test
Sum=132.
[9:19 user@ws hw12] ./a.out 132 a 34 3 32
Sum=201.
[9:19 user@ws hw12]
執行結果與輸出格式必須與上述一致

第3題

  1. 設計一個名為date.c的程式
  2. 此程式執行時,讓使用者以yyyy/mm/dd格式輸入一個日期
  3. 將該日期以month dd, yyyy的方式輸出,其中month為月份的英文
  4. 你應該建立一個陣列,含有十二個月的英文字串
  5. 程式執行結果參考:

[9:19 user@ws hw12] ./a.out
Date (yyyy/mm/dd)? 2014/3/2
The date is March 2, 2014.
[9:19 user@ws hw12]
執行結果與輸出格式必須與上述一致

第4題

  1. 設計一個名為statistics.c的程式
  2. 此程式執行時,讓使用者輸入一個80字元以內的字串
  3. 計算該字串中,每個英文字母出現的次數(大小寫視為同一個字元)
  4. 最後輸出出現次數最多的字母,若有多個字母同樣出現最多次,則全部輸出
  5. 你可能需要在「ctype.h」中定義的「toupper()函式」或「tolower()函式」,可參考張凱慶先生的程式語言教學誌
  6. 程式執行結果參考:

[9:19 user@ws hw12] ./a.out
Input a string: This is a test.
S(3)
T(3)
[9:19 user@ws hw12] ./a.out
Input a string: To C or not to C. That is a question.
O(5)
T(5)
執行結果與輸出格式必須與上述一致

第5題

設計一個C語言程式名為stringBox.c,可進行10個以內的字串操作。每個字串可以包含空白,且長度不超過20個字元。在你的程式中,必須宣告一個字串指標名為maxLenString,其永遠指向在目前輸入的字串中長度最長者(若有一個以上的字串長度一樣,任選一個)。程式執行時,可接受使用者命令進行相關操作,包含:

  1. list 列示目前已輸入的字串
  2. insert 輸入新的字串
  3. maxlen 顯示已輸入的字串中長度最長者(印出指標maxLenString所指向的字串)
  4. delete 刪除特定位置的字串(位置介於1~10)
  5. quit 結束程式的執行

程式執行結果參考:

[9:19 user@ws hw12] ./a.out
[command] list
-empty-
[command] maxlen
-null-
[command] xxdkad
bad command!
[command] quit
-bye-
[9:19 user@ws hw12] ./a.out
[command] list
-empty-
[command] insert "You are"
[command] list
you are.
[command] insert "super"
[command] insert "star"
[command] list
you are-->super-->star.
[command] maxlen
<you are>
[command] insert "."
[command] insert "Nice"
[command] insert "to"
[command] insert "meet"
[command] insert "you"
[command] insert "^_^"
[command] insert "Ha Ha Ha Ha"
[command] list
You are-->super-->star-->.-->Nice-->to-->meet-->you-->^_^-->Ha Ha Ha Ha. 
[command] insert "test"
out of space!
[command] maxlen
<Ha Ha Ha Ha>
[command] delete 3
[command] list
You are-->super-->.-->Nice-->to-->meet-->you-->^_^-->Ha Ha Ha Ha. 
[command] delete 3
[command] list
You are-->super-->Nice-->to-->meet-->you-->^_^-->Ha Ha Ha Ha. 
[command] delete 8
[command] list 
You are-->super-->Nice-->to-->meet-->you-->^_^. 
[command] delete 8
out of range!
[command] something wrong
bad command!
[command] quit
-bye-
[9:19 user@ws hw12]