用C语言实现随机生成50个小写字母并将其放入一个字符数组中,统计字符数组中每个字母出现的次数。
时间: 2024-05-05 11:21:09 浏览: 85
以下是一个简单的C语言程序,可以随机生成50个小写字母,并统计它们在字符数组中出现的次数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
char letters[50];
int counts[26] = {0}; // 初始值为0,用来计数每个字母出现的次数
int i, index;
srand(time(NULL)); // 设置随机数种子为当前时间
// 生成50个小写字母并放入字符数组中
for (i = 0; i < 50; i++) {
index = rand() % 26; // 生成0到25之间的随机数
letters[i] = 'a' + index; // 将随机生成的字母放入字符数组中
}
// 统计每个字母出现的次数
for (i = 0; i < 50; i++) {
index = letters[i] - 'a'; // 计算字母在counts数组中的下标
counts[index]++; // 将对应字母出现次数加1
}
// 输出每个字母出现的次数
for (i = 0; i < 26; i++) {
printf("%c: %d\n", 'a' + i, counts[i]);
}
return 0;
}
```
在这个程序中,我们首先定义了一个长度为50的字符数组 `letters` 和一个长度为26的整型数组 `counts`,用来存放每个字母出现的次数。我们使用 `srand()` 函数设置随机数种子为当前时间,然后使用 `rand()` 函数生成0到25之间的随机数,将它们与字母 `a` 相加得到一个随机小写字母,并将其放入字符数组中。
接着,我们使用一个循环遍历字符数组 `letters`,计算每个字母在 `counts` 数组中的下标,然后将对应字母的出现次数加1。
最后,我们再次使用一个循环遍历整型数组 `counts`,输出每个字母出现的次数。
阅读全文