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

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

c++

3个回答

#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;
}

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

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']++;
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问