#include <iostream>#include <cstring>using namespace std;int * count (const char * const s){ int *count = new int [10]; for(int j = 0;j < 10;j++) { count[j] = 0; for (int k = 0;k < strlen(s);k++) { if (s[k]-48 == j) { count[j]++; } } }return count;delete [] count;}int main(){ int * counts = count("0000"); for (int k = 0;k < 10;k++) { cout << counts[k] << " "; }return 0;}上面這段代碼中包含int * count (const char * const s)重新設計函數,講統計結果數組作為參數COUNTS傳遞給函數void count(const char * const s,int * counts,int size)
2 回答

眼眸繁星
TA貢獻1873條經驗 獲得超9個贊
void count(const char* s, int* cnts,int size)
{
int i;
memset(cnts,0,sizeof(int)*10);
for (i=0;i<size;i++){if (s[i] >= '0' && s[i]<= '9'){cnts[s[i]-'0']++;}}
}
這樣就可以了

當年話下
TA貢獻1890條經驗 獲得超9個贊
void count( __in const char * const s,__out int * counts,__in int size) //size是const的大小
{
for(int j = 0;j < 10;j++)
{
counts[j] = 0;
for (int k = 0;k < size;k++)
{
if (s[k]-48 == j) counts[j]++;
}
}
}
添加回答
舉報
0/150
提交
取消