C语言用随机数函数编写一百个人,十个等级,怎么查看哪个等级的人最多,是多少
时间: 2024-10-15 13:07:48 浏览: 15
在C语言中,你可以使用`<stdlib.h>`库中的`srand()`和`rand()`函数生成随机数,并结合数组和计数器来实现这个功能。首先,你需要创建一个数组来表示不同等级的人数,然后通过循环随机分配人数到各个等级。
以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define NUM_OF_PEOPLE 100
#define MAX_LEVEL 10
// 创建一个数组存储每个等级的人数
int levels[NUM_OF_PEOPLE][MAX_LEVEL] = {0};
// 随机数种子初始化(这里为了简单,可以使用系统时间)
srand(time(0));
void distributePeople(int level) {
int person;
for (person = 0; person < NUM_OF_PEOPLE; person++) {
// 生成0~9之间的随机数,代表从0级到9级
int randomLevel = rand() % MAX_LEVEL;
// 把人分配到对应的等级
levels[randomLevel]++;
}
}
int main() {
distributePeople(0); // 分配所有人的等级
// 找出哪个等级的人数最多
int maxLevel = 0;
int maxCount = 0;
for (int i = 0; i < MAX_LEVEL; i++) {
if (levels[i] > maxCount) {
maxCount = levels[i];
maxLevel = i;
}
}
printf("人数最多的等级是%d级,总共有%d人。\n", maxLevel, maxCount);
return 0;
}
```
在这个程序中,我们先初始化等级人数为0,然后通过`distributePeople`函数给每个人随机分配一个等级。最后遍历所有等级,找出人数最多的那个等级及其人数。
阅读全文