c语言/*请编写函数fun,函数的功能是:统计各年龄段的人数。n个年龄通过调用随机函
时间: 2024-03-16 18:46:02 浏览: 155
数生成并存入一维数组a中,年龄范围在18到70岁之间。要求函数通过调用输出函数print输出各年龄段的人数,年龄段为18到25,26到35,36到45,46到55,56到65,66到70。*/
下面是函数fun的实现代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 100
void print(int count[]) {
printf("18~25岁的人数:%d\n", count[0]);
printf("26~35岁的人数:%d\n", count[1]);
printf("36~45岁的人数:%d\n", count[2]);
printf("46~55岁的人数:%d\n", count[3]);
printf("56~65岁的人数:%d\n", count[4]);
printf("66~70岁的人数:%d\n", count[5]);
}
void fun(int a[], int n) {
int count[6] = {0};
for (int i = 0; i < n; i++) {
if (a[i] >= 18 && a[i] <= 25) {
count[0]++;
} else if (a[i] >= 26 && a[i] <= 35) {
count[1]++;
} else if (a[i] >= 36 && a[i] <= 45) {
count[2]++;
} else if (a[i] >= 46 && a[i] <= 55) {
count[3]++;
} else if (a[i] >= 56 && a[i] <= 65) {
count[4]++;
} else if (a[i] >= 66 && a[i] <= 70) {
count[5]++;
}
}
print(count);
}
int main() {
int a[N];
int n;
srand((unsigned)time(NULL)); // 初始化随机数种子
printf("请输入人数n:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
a[i] = rand() % 53 + 18; // 生成18~70岁之间的随机数
}
fun(a, n);
return 0;
}
```
函数fun首先初始化一个长度为6的计数数组count,然后遍历数组a中的每一个元素,根据其年龄范围累加相应年龄段的人数。最后调用输出函数print输出各年龄段的人数。在主函数中,首先获取人数n,然后使用随机函数生成n个18~70岁之间的随机数存入数组a中,最后调用函数fun统计各年龄段的人数并输出。
阅读全文