统计输入的字符串各个字符类型个数

Posted 穿迷彩服的鲨鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计输入的字符串各个字符类型个数相关的知识,希望对你有一定的参考价值。


前言

在控制台输入一串字符,统计大写字符个数,小写字符个数,数字字符个数,其他字符


一、示例

1.示例

在这里插入图片描述

二、代码解析

1.开始统计(while循环)

代码如下(示例):

#include<stdio.h>

int main()
{
    char c[128];
    int lower = 0, upper = 0, number = 0, other = 0;
    scanf("%s",c);
    int i = 0;
    while (c[i]!='\\0')
    {
        if (c[i]>='a'&&c[i]<='z')
        {
            lower++;
        }
        else if (c[i] >= 'A' && c[i] <= 'Z')
        {
            upper++;
        }
        else if (c[i] >= '0' && c[i] <= '9')
        {
            number++;
        }
        else
        {
            other++;
        }
        i++;
    }
    printf("小写字符个数:%d;\\n大写字符个数:%d;\\n数字字符个数:%d;\\n其他字符个数:%d;\\n",lower,upper,number,other);
}

2.使用VS编写上述代码时scanf不可用问题

#include<stdio.h>

int main()
{
    char c[128];//定义数组大小
    int lower = 0, upper = 0, number = 0, other = 0;
    scanf_s("%s",c,128);//Vs不支持scanf,但是提供了scanf_s,在使用scanf_s时,输入字符串时必须指定字符串大小
    int i = 0;
    while (c[i]!='\\0')
    {
        if (c[i]>='a'&&c[i]<='z')//如果时小写字符
        {
            lower++;//累加
        }
        else if (c[i] >= 'A' && c[i] <= 'Z')//如果时小写字符
        {
            upper++;//累加
        }
        else if (c[i] >= '0' && c[i] <= '9')//如果时小写字符
        {
            number++;//累加
        }
        else//其他字符
        {
            other++;//累加
        }
        i++;
    }
    printf("小写字符个数:%d;\\n大写字符个数:%d;\\n数字字符个数:%d;\\n其他字符个数:%d\\n",lower,upper,number,other);
}

3结果

在这里插入图片描述


总结

在这里插入图片描述

以上是关于统计输入的字符串各个字符类型个数的主要内容,如果未能解决你的问题,请参考以下文章

编写一个c程序,输入一个字符串,统计各个字符出现的次数

用C语言编写一个程序,输入一个字符串,统计其中各个字符出现的次数

用C语言编程:在显示器上输入一段字符串,并统计出现字符的个数和各个字符出现的次数

用C语言编写一个程序,输入一个字符串,统计其中各个字符出现的次数

怎么统计输入的一个字符串中每个字母出现的次数?

C语言:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开