3218: 字符串字符统计—C语言

3218: 字符串字符统计—C语言

时间限制: 1 Sec  内存限制: 128 MB
提交: 270  解决: 129
[提交][状态][讨论版][命题人:smallgyy]

题目描述


编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。

输入


一行字符串

输出

统计数据,4个数字,空格分开。

样例输入

!@#$%^QWERT    1234567

样例输出

5 7 4 6 

提示

 


主函数已给定如下,提交时不需要包含下述主函数



#include<stdio.h>



void tongji(char str[],int a[]);



int main()



{



    char str[100];



    int i,a[4];



    gets(str);



    tongji(str,a);



    for(i=0; i<4; i++)



              printf("%d ",a[i]);



    printf("\n");



    return 0;



}

 

#include<stdio.h>
#include<string.h>
void tongji(char str[],int a[]);
int main()
{
    char str[100];
    int i,a[4];
    gets(str);
    tongji(str,a);
    for(i=0; i<4; i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}
#include<string.h>
void tongji(char str[],int *a)
{
    int i, j, len;
    //memset(a, 0, sizeof(a));  //为什么这句不起作用?
    for( i = 0 ;i<4 ;i++)
    {
        a[i] = 0 ;
    }
    len = strlen(str);
    for(i = 0; i < len; ++i)
    {
        if(str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z')
        {
            a[0]++;
        }
        else if(str[i] >= '0' && str[i] <= '9')
        {
            a[1]++;
        }
        else if(str[i] == ' ')
        {
            a[2]++;
        }
        else
        {
            a[3]++;
        }
    }
}

  

posted @ 2018-11-02 20:39  青衫客36  阅读(886)  评论(0编辑  收藏  举报