编写一C程序,统计一字符串中‘a’至‘z’26个小写字母各自出现在的次数。要求:小写字母的统计通过函数 void tongji(char *ss, int *pp)进行,数据的输入输出及函数调用通过main函数进行。相关变量定义: void main() {char tt[100]; int pp[26];……}
时间: 2024-03-24 15:38:54 浏览: 8
好的,下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
void tongji(char *ss, int *pp);
int main() {
char tt[100];
int pp[26] = {0}; // 初始化
printf("请输入字符串:");
fgets(tt, 100, stdin);
tt[strlen(tt)-1] = '\0'; // 去掉末尾的换行符
tongji(tt, pp);
printf("小写字母出现次数如下:\n");
for(int i=0; i<26; i++) {
printf("%c:%d\n", i+'a', pp[i]);
}
return 0;
}
void tongji(char *ss, int *pp) {
for(int i=0; i<strlen(ss); i++) {
if(ss[i]>='a' && ss[i]<='z') {
pp[ss[i]-'a']++;
}
}
}
```
这个程序中,我们首先定义了一个 `tongji` 函数,用于统计小写字母出现的次数。然后在 `main` 函数中获取用户输入的字符串,调用 `tongji` 函数进行统计,并输出结果。值得注意的是,我们使用了 `fgets` 函数来获取用户输入的字符串,这个函数可以避免输入过长的字符串导致的内存溢出问题。