编写一个函数,求出由指针a所指向的字符串中包含的每种十进制数字出现的次数,并将统计结果保存在由指针b所指向的整型数组中。屏幕输出可参考下图。函数原型为:void fun1(char *a,int *b);用c++
时间: 2024-02-25 12:57:39 浏览: 78
字符串转换为十六进制数
下面是用 C++ 实现的函数代码:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
void fun1(char *a, int *b) {
memset(b, 0, sizeof(int) * 10); // 初始化数组 b 为全 0
while (*a != '\0') {
if (*a >= '0' && *a <= '9') {
b[*a - '0']++; // 统计数字出现次数
}
a++; // 指针移动到下一个字符
}
}
int main() {
char str[] = "2 5 3 7 8 1 4 5 6 9";
int cnt[10];
fun1(str, cnt);
cout << "数字出现的次数如下:" << endl;
for (int i = 0; i < 10; i++) {
cout << i << ": " << cnt[i] << endl;
}
return 0;
}
```
输出结果如下:
```
数字出现的次数如下:
0: 0
1: 1
2: 1
3: 1
4: 1
5: 2
6: 1
7: 1
8: 1
9: 1
```
阅读全文