檢查字串練習 (字數計算)

檢查字串練習 (字數計算)

全形、英文、符號判斷


#include <string .h>    // 引入字串函數標題檔
#include <ctype .h>     // 引入字元測試與轉換函數標題檔
 
int main()
{
  int print = 0, digit = 0, lower = 0, upper = 0;
  int punct = 0, space = 0, control = 0, chinese = 0;
  char string[] = "Developer Studio 是一個整合式的開發環境"
          "(Integrated Development Environment;IDE),"
          "它提供 Visual Basic、Visual C++、與其他程式的開發環境。";
  int len = strlen(string);                // 取得字串長度
  for (int i = 0; i <= len; i++)           // 字元檢查迴圈
  {
    if (isprint(string[i]) != 0)           // 若為可列印字元
    {
      print++;
      if (isdigit(string[i]) != 0)             // 為數字字元
        digit++;
      else if (islower(string[i]) != 0)        // 為小寫字元
        lower++;
      else if (isupper(string[i]) != 0)        // 為大寫字元
        upper++;
      else if (ispunct(string[i]) != 0)        // 為符號字元
        punct++;
      else                                     // 否則為空白字元
        space++;
    }
    else if (iscntrl(string[i]) != 0)      // 若為控制符號字元
    {
      control++;
    }
    else                                   // 否則為全形文字(中文)字元
    {
      chinese++;
      i++;                                 // 全形字為2bytes,要多移一個字元
    }
  }
  cout <<"英數符號字數:" <<print;       // 顯示訊息字串
  cout <<"n  大寫字數:" <<upper;     // 顯示訊息字串
  cout <<"n  小寫字數:" <<lower;     // 顯示訊息字串
  cout <<"n  數字字數:" <<digit;     // 顯示訊息字串
  cout <<"n  空白字數:" <<space;     // 顯示訊息字串
  cout <<"n  符號字數:" <<punct;     // 顯示訊息字串
  cout <<"n控制符號字數:" <<control;   // 顯示訊息字串
  cout <<"n全形文字字數:" <<chinese;   // 顯示訊息字串
  cout <<endl <<endl;
  return 0;
}
Dotblogs 的標籤: