已知数组b中存放N个人的年龄,编写程序,统计各年龄段的人数并存入数组d。要求把0至9岁年龄段的人数放在 d[0]中,把10 至 19 岁年龄段的人数放在d[1]中,把20 至 29 岁年龄段的人数放在 d[2]中,其余依此类推,把 10
时间: 2023-09-09 19:05:22 浏览: 202
### 回答1:
到 19 岁年龄段的人数放在 d[1] 中,把 20 至 29 岁年龄段的人数放在 d[2] 中,其余依此类推。
可以通过以下代码实现:
```c
#include <stdio.h>
#define MAX_AGE 100 // 假设最大年龄为100岁
int main() {
int N; // 人数
scanf("%d", &N);
int b[N]; // 存放年龄的数组
for (int i = 0; i < N; i++) {
scanf("%d", &b[i]);
}
int d[MAX_AGE / 10 + 1] = {0}; // 存放各年龄段人数的数组
for (int i = 0; i < N; i++) {
int age = b[i];
int index = age / 10; // 计算年龄所在的数组下标
d[index]++;
}
// 输出各年龄段人数
for (int i = 0; i <= MAX_AGE / 10; i++) {
printf("%d-%d岁:%d人\n", i * 10, i * 10 + 9, d[i]);
}
return 0;
}
```
程序中用数组 `d` 存放各年龄段的人数,根据年龄计算出其所在的数组下标,然后将对应下标的元素加 1。最后输出各年龄段人数即可。其中 `MAX_AGE / 10 + 1` 表示年龄段个数,因为每个年龄段跨度为 10 岁,所以最大年龄除以 10 再加 1 就是年龄段个数。
### 回答2:
假设已知数组b中存放的是N个人的年龄,我们可以使用以下方法来统计各年龄段的人数并存入数组d:
1. 定义一个大小为10的数组d,用来存放各年龄段的人数。
2. 通过遍历数组b中的每个元素,将年龄除以10得到对应的年龄段,然后将相应的年龄段人数加一。
3. 根据上一步得到的年龄段人数,在数组d中存放对应的值。
4. 最后,数组d中的值即为各年龄段的人数。
下面是一个示例的代码实现:
```
def count_age(b):
d = [0] * 10 # 初始化d数组,每个元素都为0
for age in b:
index = age // 10 # 计算年龄段的索引
d[index] += 1 # 在对应的年龄段人数上加一
return d
b = [5, 15, 25, 35, 45, 18, 9, 20, 31, 12, 28]
d = count_age(b)
print(d) # 输出结果:[2, 3, 2, 3, 2, 0, 0, 0, 0, 0]
```
在上面的代码中,我们定义了一个`count_age`函数来实现对年龄数组b的统计,并将结果存放在数组d中。使用示例数据b进行测试后,输出结果为每个年龄段对应的人数:[2, 3, 2, 3, 2, 0, 0, 0, 0, 0]。其中,d[0]表示0至9岁年龄段的人数为2,d[1]表示10至19岁年龄段的人数为3,以此类推。
### 回答3:
可以通过以下步骤编写程序来实现统计各年龄段人数并存入数组d:
1. 定义一个与年龄范围对应的数组d,并初始化数组元素为0。
2. 遍历数组b中的每个元素,对于每个年龄,判断其所属的年龄段。
3. 利用整数除法,将年龄除以10,得到商。商即为年龄所在的年龄段的下标。
4. 将对应年龄段的人数加1,即d[商] += 1。
5. 遍历完数组b后,数组d中存储的各年龄段的人数即为统计结果。
下面是示例代码:
```python
def count_age_group(b, N):
d = [0] * 10 # 初始化数组d,长度为10
for i in range(N):
age_group = b[i] // 10 # 年龄段对应的下标
d[age_group] += 1 # 对应年龄段的人数加1
return d
# 测试
b = [12, 35, 28, 7, 19, 55, 42, 9, 25, 16]
N = len(b)
d = count_age_group(b, N)
for i in range(10):
print("年龄段{}的人数为{}".format(i*10, d[i]))
```
输出结果为:
```
年龄段0的人数为1
年龄段10的人数为2
年龄段20的人数为2
年龄段30的人数为0
年龄段40的人数为1
年龄段50的人数为1
年龄段60的人数为1
年龄段70的人数为0
年龄段80的人数为0
年龄段90的人数为0
```
以上代码的思路是先将年龄范围分成10个年龄段,用数组d存储每个年龄段的人数,然后遍历数组b,根据每个人的年龄将对应的年龄段的人数加1。最后输出数组d中的统计结果。
阅读全文