#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main()
{
    char arr[100] = { 0 };//最后 还有 一个 字符串的结束标志'\0'
    //空格是 scanf读取 字符串分割的标志
    gets(arr);//gets 可以读取 带有 空白 字符的字符串
    //gets 函数 所需的头文件是 stdio.h
    //遍历 所输入的字符串
    char* parr = arr;//指针的类型 决定 了 对指针进行解引用时 访问几个字节
    int cnt = 0;//计数器  统计 字符串中 题目所要求的字符的个数
    while (*parr != '\0')//当没有 读取到 '\0'时
    {
        /*if (*parr >= 65 && *parr <= 100)
        {
            cnt++;
        }
        if (*parr >= 97 && *parr <= 122)
        {
            cnt++;
        }
        if (*parr >= 48 && *parr <= 57)
        {
            cnt++;
        }*/
        if (*parr != 32)//空白字符的ascii 码值时 32
        {
            cnt++;
        }
        parr++;
    }

    //print
    printf("%d\n", cnt);
    return 0;
}