在c++中 如何用整形数组统计95种字符出现的次数
时间: 2024-05-13 11:18:15 浏览: 14
可以使用一个长度为95的整形数组来存储每个字符出现的次数,数组下标对应的是ASCII码值减去32(因为ASCII码表中空格之前的字符都是控制字符,不需要统计),代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "Hello, world!";
int count[95] = {0}; // 初始化数组元素为0
// 统计字符出现次数
for (char c : s) {
if (c >= 32 && c <= 126) { // 只统计可打印字符
count[c - 32]++;
}
}
// 输出结果
for (int i = 0; i < 95; i++) {
cout << (char)(i + 32) << ": " << count[i] << endl;
}
return 0;
}
```
在上面的代码中,我们首先定义了一个字符串 `s` 用来存储需要统计的字符,然后定义了一个长度为95的整形数组 `count`,并将数组元素全部初始化为0。接着,我们使用一个 for 循环遍历字符串中的每个字符,如果该字符是可打印字符,则将对应的数组元素加1。最后,使用另一个 for 循环输出每个字符出现的次数。需要注意的是,我们在输出字符时需要加上32才能得到对应的ASCII码值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)