列表

详情


HJ40. 统计字符

描述

输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。

数据范围:输入的字符串长度满足

输入描述

输入一行字符串,可以有空格

输出描述

统计其中英文字符,空格字符,数字字符,其他字符的个数

示例1

输入:

1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][

输出:

26
3
10
12

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 1ms, 内存消耗: 344KB, 提交时间: 2021-09-01

#include<stdio.h>

int main()
{
    char str[1000];
    int k,s,e,o;
    while(gets(str) != NULL)
    {
        k=s=e=o=0;
        for(int i =0 ; i< strlen(str); ++i)
        {
            if(str[i] >= '0'  && str[i] <= '9')
                ++k;
            else if((str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z') )
                ++e;
            else if(str[i] == ' ')++s;
            else ++o;
        }
        printf("%d\n%d\n%d\n%d\n",e,s,k,o);
    }
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 348KB, 提交时间: 2018-08-02

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
     char a[1000];
    while(gets(a)!=NULL)
    {
        int number=0;
        int letter=0;
        int space=0;
        int other=0;
   
       for (int i=0;i<strlen(a);i++)
        {
        if ((a[i]>='a'&&a[i]<='z') || (a[i]>='A'&&a[i]<='Z'))
            letter++;
        else if (a[i]==' ')
            space++;
        else if (a[i]>='0' && a[i]<='9')
            number++;
        else
            other++;
        }
    printf("%d\n",letter);
    printf("%d\n",space);
    printf("%d\n",number);
    printf("%d\n",other);
   }
    return 0;
}

上一题