M__________c
M__________c
2019-12-13 08:50
采纳率: 100%
浏览 579

编写函数求字符串中0~9出现次数

编写一个函数,统计一个字符串中 0~9 出现的次数。函数原型如下:
void count( string &s, int counts[ ], int size ) ;
其中,s 为字符串,数组元素 counts 表示 0~9 出现的次数,size 为 counts 数组大小

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • hust_jixing
    hust_jixing 2019-12-13 10:48
    已采纳
    #include <iostream>
    using namespace std;
    
    void count( string &s, int counts[ ], int size ) { 
    
        int value; 
        for (int i = 0; i < s.length(); i++) {
            value = s[i] - '0';
            if (value >= 0 && value <= 9 && value < size) {
                counts[value]++;
            }   
        }   
        return ;
    }
    
    int main()
    {
    #define C_SIZE 3
    
        string s = "1231456adb";
        int c[C_SIZE] = {0};
    
        count(s, c, C_SIZE);
    
        for(int i = 0; i < C_SIZE; i++) {
            cout << c[i] << endl; 
        }   
        return 0;
    }
    
    点赞 评论
  • xianfajushi
    智者知已应修善业 2019-12-13 09:28

    直接写未调试,自己弄到函数内
    int a=0;
    while(s[a]!='\n')if((s[a]-'0')<=size)++counts[(s[a]-'0')];

    点赞 评论
  • weixin_37938742
    weixin_37938742 2019-12-13 10:09
    void count( string &s, int counts[ ], int size ){
        for( int i = 0; i < s.length(); i++ )
            if( '0' <= s[i] && s[i] <= '9' )
                counts[s[i] - '0']++;
    }
    
    点赞 评论

相关推荐