编写函数fun,其功能是:统计各年龄段的人数。N个年龄通过随机函数获得,并放在主函数的age数组中;要求函数把0~9岁年龄段的人数放在d[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d[2]中,……,把100岁(含100)以上的人数都放在d[10]中。结果在主函数中输出。 注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
时间: 2024-04-06 17:34:14 浏览: 86
好的,下面是一个可能的实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 100
void fun(int age[], int d[]) {
int i;
for (i = 0; i <= 10; i++) {
d[i] = 0;
}
for (i = 0; i < N; i++) {
int age_range = age[i] / 10;
if (age_range > 10) {
age_range = 10; // 大于100岁的按100岁算
}
d[age_range]++;
}
}
int main() {
int age[N];
int d[11];
int i;
srand(time(NULL));
for (i = 0; i < N; i++) {
age[i] = rand() % 120; // 假设最大年龄不超过120岁
}
fun(age, d);
for (i = 0; i <= 10; i++) {
printf("%d~%d岁的人数:%d\n", i * 10, i * 10 + 9, d[i]);
}
return 0;
}
```
函数`fun`中,首先初始化`d`数组为0,然后遍历`age`数组,根据每个人的年龄计算所处的年龄段(通过除以10取整),并在对应的`d`数组元素上加1。最后在`main`函数中输出各年龄段的人数。
请注意,这里假设最大年龄不超过120岁,因此随机生成的年龄范围为0~119岁。如果需要更改年龄范围,需要相应地修改随机数生成的代码。
阅读全文