A标题统计 NOIP2018普及组

链接:https://ac.nowcoder.com/acm/contest/293/A
题目来源:牛客网
 

题目描述

凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符?
注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字 符数时,空格和换行符不计算在内。

输入描述:

输入文件只有一行, 一个字符串s。

输出描述:

输出文件只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。

示例1链接:https://ac.nowcoder.com/acm/contest/293/A
来源:牛客网
 

输入

234

输出

3

说明

标题中共有 3 个字符,这 3 个字符都是数字字符。

C++代码:

#include
using namespace std;
 
char t;
int ans(0);
 
int main()
{
    char s[10];
    gets(s); //gets()可以读取一段,直到回车
    int n=strlen(s); //strlen()是char s[]数组用的函数
    int ans=0;
    for(int i=0;i='A'&&s[i]<='Z') //如果是大写
        ans++;
        if(s[i]>='a'&&s[i]<='z')//如果是小写
        ans++;
        if(s[i]>='0'&&s[i]<='9')//如果是数字
        ans++;
    }
    printf("%d",ans);
    return 0;
}

 

注意 :gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。其调用格式为:gets(s),其中s为字符串变量(字符串数组名或字符串指针)。

        gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。也就是说:gets()函数读取到\n(我们输入的回车)于是停止读取,但是它不会把\n包含到字符串里面去。然而,和它配合使用的puts函数,却在输出字符串的时候自动换行。

 

你可能感兴趣的:(NOIP)