1. 程式人生 > 其它 ><ctype.h>的介紹

<ctype.h>的介紹

最近遇到這樣一個題目:

本題要求你實現一個稍微更值錢一點的 AI 英文問答程式,規則是:
• 無論使用者說什麼,首先把對方說的話在一行中原樣打印出來;
• 消除原文中多餘空格:把相鄰單詞間的多個空格換成 1 個空格,把行首尾的空格全部刪掉,把標點符號前面的空格刪掉;
• 把原文中所有大寫英文字母變成小寫,除了 I;
• 把原文中所有獨立的 can you、could you 對應地換成 I can、I could—— 這裡“獨立”是指被空格或標點符號分隔開的單詞;
• 把原文中所有獨立的 I 和 me 換成 you;
• 把原文中所有的問號 ? 換成驚歎號 !;
• 在一行中輸出替換後的句子作為 AI 的回答。

輸入格式:
輸入首先在第一行給出不超過 10 的正整數 N,隨後 N 行,每行給出一句不超過 1000 個字元的、以回車結尾的使用者的對話,對話為非空字串,僅包括字母、數字、空格、可見的半形標點符號。
輸出格式:
按題面要求輸出,每個 AI 的回答前要加上 AI: 和一個空格。

。。。。。。。

什麼垃圾題目

而在完成這道題目題目時我遇到了一個十分有意思的標頭檔案<ctype>

ctype.h是一個包含了各種判斷字元的函式,這裡我將列出幾個很好用的的函式。 //以下函式返回值都為0或者非0元素

  1. isctrl(a) 檢查a是否為控制字元(ASCII在0~31)
  2. isblack(a) 檢查a是否為 \t' 或者 ' '
  3. isprint(a) 檢查a是否為可列印字元
  4. ispunct(a) 檢查a是否為標點字元