目錄表

國立屏東大學 資訊工程系 物件導向程式設計

作業2


turnin code cpp.2A.hw2(週五上午,二甲) , cpp.2B.hw2(週五下午,二乙)

第1題

  1. 設計一個名為capitalize.cpp的程式
  2. 要求使用者輸入一個長度不超過200的英文字串(其中可包含空白鍵
  3. 將使用者所輸入字串,其中每一個字的第一個字母改成大寫,其餘皆以小寫輸出
  4. 但其中若有某個字原本就是由大寫字母組成,則維持以大寫輸出
  5. 程式執行結果參考:

Please input a string: To do or not to do, that is a question!
Capitalizing...
Output: To Do Or Not To Do, That Is A Question!

Please input a string: in 2013, the government of the US was shut down for more than TWO WEEKS.
Capitalizing...
Output: In 2013, The Government Of The US Was Shut Down For More Than TWO WEEKS.

第2題

  1. 使用C++語言撰寫一個程式,檔名為palindrome.cpp。
  2. 讀入使用者所輸入的一個字串(讓使用者持續輸入直到Enter為止),存放於一個名為str的字串陣列中。
  3. str字串陣列可存放至多256個字元(含\0)。
  4. 遇到空白字元、tab以及標點符號皆忽略。換句話說,此題只關注26個大寫及26個小寫的英文字母。
  5. 判斷此字串是否為迴文。
  6. 程式執行結果參考:

Please input a string (up to 255 characters): This is a    test!
No, this is not a palindrome.

Please input a string (up to 255 characters): a    santa    at N A S A
Yes, this is a palindrome.

第3題

  1. 設計一個名為lexico.cpp的程式
  2. 讓使用者輸入一個整數n,以決定其後將輸入的字串數目
  3. 使用迴圈讓使用者輸入n個英文字串
  4. 每個字串皆不超過20個字元,使用Enter結束每一次的輸入,字串內容全部為大寫或小寫字母,並可包含空白字元
  5. 將這n個字串中的大寫字母都轉換為小寫字母,再依Lexicographical order(也就是字典順序)輸出
  6. 你必須要以動態字串陣列來實作,其宣告必須為:

   int n;
   cout << "How many strings do you want to input? ";
   cin >> n;
 
   char **str = new char * [n];
   ...
   for(int i=0;i<n;i++)
   {
      ...
      str[i] = new char[21];
      ...
   }
   ...

你可能須要載入「#include <string>」或「#include <cstring>」等相關的標頭檔

程式執行結果參考如下:

[02:16 junwu@ws hw1]$ ./a.out
How many strings do you want to input? 5
Input 1: Willemite
Input 2: Subject
Input 3: sub rosa
Input 4: Birth Date
Input 5: subJeCtS
 
Lexicographical Ordering...
 
birth date
sub rosa
subject
subjects
willemite
[02:16 junwu@ws hw1]$