2011-06-21 10:10:52Morris

d430. 第二題: 計算字數 (count)

d430. 第二題: 計算字數 (count)

內容 :

有一個雜誌社付給作者的稿費是按字計酬,因此編輯人員需對被接受刊登的稿
件計算字數,其計算字數的方式如下:
1. 任何標點符號或特殊符號均不在計數之內;
2. 縮寫字(如do not→don’t, World Health Organization→WHO)或複合字(如a
10-item test 之10-item視為一個字)皆以一個字計算。
現在請你/妳寫一個程式為雜誌社的編輯人員計算文稿的字數。注意!所有測
試檔皆不超過100個字。

輸入說明 :

見輸入範例。

輸出說明 :

顯示文稿的字數

範例輸入 :

Nature and nature’s law lay hid in night.
God said, let Newton be! And all was light.

範例輸出 :

17

提示 :

出處 :

92 (管理:nanj0178)



作法 : ?
我已經亂做了,嘆氣

/**********************************************************************************/
/*  Problem: d430 "第二題: 計算字數 (count)" from 92                       */
/*  Language: C                                                                   */
/*  Result: AC (2ms, 265KB) on ZeroJudge                                          */
/*  Author: morris1028 at 2011-06-20 12:15:04                                     */
/**********************************************************************************/


#include<stdio.h>
main() {
    int Ans = 0, a, b;
    char s[10001];
    while(scanf("%s", s) == 1) {
        int flag = 0;
        for(a = 0; s[a]; a++) {
            switch(s[a]) {
                case 'a' ... 'z':flag = 1;break;
                case 'A' ... 'Z':flag = 1;break;
                case '0' ... '9':flag = 1;break;
                default: {
                    if(s[a] == '\'') continue;
                    if(s[a] == '-') continue;
                    if(s[a] < 0) continue;
                    Ans += flag, flag = 0;
                }
            }
        }
        if(flag == 1)    Ans++;
    }
    printf("%d\n", Ans);
    return 0;
}

上一篇:d451. 科學記號

下一篇:b060. 5. 快遞服務