zoukankan      html  css  js  c++  java
  • 习题8-9 分类统计各类字符个数(15 分)

    本题要求实现一个函数,统计给定字符串中的大写字母、小写字母、空格、数字以及其它字符各有多少。

    函数接口定义:

    void StringCount( char *s );
    

    其中 char *s 是用户传入的字符串。函数StringCount须在一行内按照

    大写字母个数 小写字母个数 空格个数 数字个数 其它字符个数
    

    的格式输出。

    裁判测试程序样例:

    #include <stdio.h>
    #define MAXS 15
    
    void StringCount( char *s );
    void ReadString( char *s ); /* 由裁判实现,略去不表 */
    
    int main()
    {
        char s[MAXS];
    
        ReadString(s);
        StringCount(s);
    
        return 0;
    }
    
    /* Your function will be put here */
    

    输入样例:

    aZ&*?
    093 Az
    

    输出样例:

    2 2 1 3 4
    
    #include <string.h>
    
    void StringCount( char *s )
    
    {
    
        int cap=0,low=0,bla=0,num=0,els=0,i,n;
    
        n=strlen(s);
    
        for(i=0;i<n;i++)
    
        {
    
            if(s[i]>='A'&&s[i]<='Z')
    
                cap++;
    
            else if(s[i]>='a'&&s[i]<='z')
    
                low++;
    
            else if(s[i]==' ')
    
                bla++;
    
            else if(s[i]>='0'&&s[i]<='9')
    
                num++;
    
            else
    
                els++;
    
        }
    
        printf("%d %d %d %d %d",cap,low,bla,num,els);
    
    }

    优化下

    void StringCount( char *s )
    
    {
    
        int cap=0,low=0,bla=0,num=0,els=0,i=0;
    
     
    
        while(s[i]!='')
    
        {
    
            if(s[i]>='A'&&s[i]<='Z')
    
                cap++;
    
            else if(s[i]>='a'&&s[i]<='z')
    
                low++;
    
            else if(s[i]==' ')
    
                bla++;
    
            else if(s[i]>='0'&&s[i]<='9')
    
                num++;
    
            else
    
                els++;
    
            i++;
    
        }
    
        printf("%d %d %d %d %d",cap,low,bla,num,els);
    
    }
  • 相关阅读:
    npm包开发与发布
    mapbox展示动态图标
    axios并行请求
    Vue引入ES5的js库
    git常用操作
    单词倒排
    FT232RL芯片USB转TTL应用
    应用GL823芯片自制的读卡器
    队列图示
    队列
  • 原文地址:https://www.cnblogs.com/2228212230qq/p/9268675.html
Copyright © 2011-2022 走看看