4、一篇文本共有3行文字,每行不多于5个字符, 要求分别统计处每行中的大写字母,小写字母, 数字,空格,以及其他字符的个数

/*
一篇文本共有3行文字,每行不多于5个字符,
要求分别统计处每行中的大写字母,小写字母,
数字,空格,以及其他字符的个数
 */
#include <stdio.h>
#include <stdlib.h>

void countFunc(char *pWordArra,int wordArraLength)
{
    int upperChr = 0;
    int lowerChr = 0;
    int numberChr = 0;
    int tabChr = 0;
    int othrChr = 0;

    for(int i= 0;i < wordArraLength;i++)
    {
         if(pWordArra[i] >= 'A' && pWordArra[i] <= 'Z')
            upperChr += 1;
         else if(pWordArra[i] >= 'a' && pWordArra[i] <= 'z')
            lowerChr += 1;
         else if(pWordArra[i] >= '0' && pWordArra[i] <= '9')
            numberChr += 1;
         else if(pWordArra[i] == ' ')
            tabChr += 1;
         else
            othrChr += 1;
    }
    printf("%d %d %d %d %d\n",upperChr,lowerChr,numberChr,tabChr,othrChr);
}

void countCharIn(char *pStr)
{
    while ('\0' != *pStr)
    {
        char wordArra[10] = {0};
        int wordArraLength = 0;
        while ('\0' != *pStr && '\n' != *pStr)
        {
            wordArra[wordArraLength] = *pStr;
            ++wordArraLength;
            ++pStr;
        }
        countFunc(wordArra,wordArraLength);
        while('\0' != *pStr && '\n' == *pStr)
        {
            ++pStr;
        }
    }
}
int main()
{
    char sentence[1000] = {"abc123 \n1098jk .[\n \n"};
    printf("%s\n",sentence);
    countCharIn(sentence);
    return 0;
}

posted @ 2021-09-22 21:07  叶梓渔  阅读(145)  评论(0)    收藏  举报