用c++写一个函数用来统计字符串中各字母出现的次数,示例: 输入:X2Y3XZ,输出:X3Y3Z1; 输入:Z3X(XY)2,输出:X3Y2Z3; 输入:Z4(Y2(XZ2)3)2X2,输出:X8Y4Z16;
时间: 2024-05-11 20:14:38 浏览: 124
统计字符串每个字母出现的次数
```c
#include <stdio.h>
void count(char *str) {
int freq[26] = {0}; // 存储每个字母出现的次数,初始化为0
int i = 0;
while (str[i] != '\0') { // 遍历字符串
if (str[i] >= 'A' && str[i] <= 'Z') { // 如果是大写字母
freq[str[i] - 'A']++; // 对应字母出现次数+1
}
i++;
}
for (int j = 0; j < 26; j++) { // 输出结果
if (freq[j] > 0) {
printf("%c%d", j + 'A', freq[j]);
}
}
}
int main() {
char str1[] = "X2Y3XZ";
char str2[] = "Z3X(XY)2";
char str3[] = "Z4(Y2(XZ2)3)2X2";
printf("输入: %s\n输出: ", str1);
count(str1);
printf("\n");
printf("输入: %s\n输出: ", str2);
count(str2);
printf("\n");
printf("输入: %s\n输出: ", str3);
count(str3);
printf("\n");
return 0;
}
```
阅读全文