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 ;
}

猜你喜欢

转载自www.cnblogs.com/Stephen-F/p/10077598.html