首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

UVa 494 Kindergarten Counting Game:單詞計數器

     編輯:C++ 入門

題目大意

輸入多行文本,每行包含若干單詞(連續字母序列,大小寫不敏感)。統計每行的單詞數並輸出。

算法:有限狀態機

掃描每行字符,維持狀態 inWord(是否在單詞內):

  • 遇到字母:若 !inWord → count++, inWord=true。
  • 遇到非字母:inWord=false。

C 代碼實現


#include 
int main() {
    int c, count = 0, inWord = 0;
    while ((c = getchar()) != EOF) {
        if (c == '\n') {
            printf("%d\n", count);
            count = 0; inWord = 0;
        } else if (c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z') {
            if (!inWord) { count++; inWord = 1; }
        } else {
            inWord = 0;
        }
    }
    return 0;
}

關鍵點

  • 單詞定義:僅字母,數字、標點、空格均為分隔符。
  • 行末換行符觸發輸出並重置。
  • return 0 必不可少,避免運行時錯誤。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved