1. 程式人生 > >NOIp 2018 普及組

NOIp 2018 普及組

標題統計

傳送門

題目描述

凱凱剛寫了一篇美妙的作文,請問這篇作文的標題中有多少個字元? 注意:標題中可能包含大、小寫英文字母、數字字元、空格和換行符。統計標題字 符數時,空格和換行符不計算在內。

輸入輸出格式

輸入格式:

輸入檔案只有一行,一個字串 $ s $ 。

輸出格式:

輸出檔案只有一行,包含一個整數,即作文標題的字元數(不含空格和換行符)。

輸入輸出樣例

輸入樣例#1:
234
輸出樣例#1:
3
輸入樣例#2:
Ca 45
輸出樣例#2:
4

說明

【資料規模與約定】
規定 $ |s| $ 表示字串 $ s $ 的長度(即字串中的字元和空格數)。
對於 $ %40 $ 的資料,$ 1 ≤ |s| ≤ 5 $ ,保證輸入為數字字元及行末換行符。
對於 $ %80 $ 的資料,$ 1 ≤ |s| ≤ 5 $ ,輸入只可能包含大、小寫英文字母、數字字元及行末換行符。
對於 $ %100% $ 的資料,$ 1 ≤ |s| ≤ 5 $ ,輸入可能包含大、小寫英文字母、數字字元、空格和行末換行符。

這個題感覺大水題吧,會用 $ gets $ 輸入感覺問題就不大 。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <map>
#include <set>
#define re register
using namespace std ;

char s[10] ;
int ans , len ;

int main() {
    gets(s) ;
    len = strlen(s);
    for(re int i = 0 ; i < len ; ++i) {
        if(s[i] >= '0' && s[i] <= '9')  ans ++ ;
        if(s[i] >= 'A' && s[i] <= 'Z')  ans ++ ; 
        if(s[i] >= 'a' && s[i] <= 'z')  ans ++ ;
    }
    printf("%d\n" , ans) ;  
    return 0 ;
}