已知数组b中存放N个人的年龄,编写程序,统计各年龄段的人数并存入数组d。要求把0至9岁年龄段的人数放在 d[0]中,把10 至 19 岁年龄段的人数放在d[1]中,把20 至 29 岁年龄段的人数放在 d[2]中,其余依此类推,把 10
时间: 2023-09-03 10:04:47 浏览: 81
### 回答1:
以下是一个C++的代码实现:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
const int MAXN = 100;
int main() {
int N, b[MAXN], d[10];
memset(d, 0, sizeof(d)); // 初始化数组d为0
cin >> N;
for (int i = 0; i < N; i++) {
cin >> b[i];
d[b[i]/10]++;
}
for (int i = 0; i < 10; i++) {
cout << i*10 << " ~ " << i*10+9 << "岁的人数是:" << d[i] << endl;
}
return 0;
}
```
首先输入N和数组b,然后初始化数组d为0。接着遍历数组b,将每个人的年龄除以10,得到的商即为对应的年龄段,将数组d对应位置加1。最后遍历数组d,输出每个年龄段的人数。
例如,输入:
```
8
5 12 27 36 49 52 68 73
```
输出:
```
0 ~ 9岁的人数是:1
10 ~ 19岁的人数是:1
20 ~ 29岁的人数是:0
30 ~ 39岁的人数是:1
40 ~ 49岁的人数是:1
50 ~ 59岁的人数是:1
60 ~ 69岁的人数是:1
70 ~ 79岁的人数是:1
```
### 回答2:
可以通过遍历数组b,统计各年龄段的人数,并存入数组d中。
首先,创建一个大小为10的数组d,用于记录各年龄段的人数。将数组d的所有元素初始化为0。
然后,遍历数组b,对每个人的年龄进行分类统计。对于数组b中的每个元素age,进行如下操作:
1. 计算年龄段的索引index:将age除以10并取整,即index = int(age/10)。
2. 将年龄段index对应的人数加1,即d[index] = d[index] + 1。
最后,数组d中的元素d[i]即为年龄段i的人数。
以下是用Python语言实现上述过程的代码示例:
```python
def count_ages(b):
d = [0] * 10 # 初始化数组d,全部置为0
for age in b:
index = age // 10 # 计算年龄段的索引
d[index] += 1 # 对应年龄段的人数加1
return d
# 示例用法
b = [8, 15, 27, 42, 31, 19, 10, 22, 37, 51, 64, 5, 13]
d = count_ages(b)
print(d)
```
输出结果为:[2, 3, 3, 1, 1, 0, 0, 0, 1, 1],表示0至9岁年龄段有2人,10至19岁年龄段有3人,20至29岁年龄段有3人,以此类推。
### 回答3:
假设通过遍历数组b,将每个人的年龄都除以10,得到的商即为该人所在的年龄段。然后再遍历数组b,统计各年龄段的人数,并存入数组d中。
具体步骤如下:
1. 声明数组d,长度为N/10+1,用于存放各年龄段的人数。
2. 初始化数组d中的元素为0。
3. 遍历数组b,将每个元素除以10,得到的商即为年龄段对应的索引。
4. 再次遍历数组b,统计各年龄段的人数,并将人数累加到数组d对应的索引位置上。
5. 遍历数组d,按照年龄段顺序依次输出每个年龄段的人数。
示例代码如下:
```python
import numpy as np
# 假设数组b中存放了10个人的年龄
b = np.array([5, 12, 25, 31, 18, 33, 22, 9, 40, 38])
# 统计人数的数组d,长度为N/10+1
d = np.zeros(b.size // 10 + 1, dtype=int)
for age in b:
index = age // 10
d[index] += 1
for i in range(d.size):
print("年龄段", i * 10, "至", i * 10 + 9, "岁的人数为:", d[i])
```
以上代码的输出结果为:
```
年龄段 0 至 9 岁的人数为: 2
年龄段 10 至 19 岁的人数为: 2
年龄段 20 至 29 岁的人数为: 3
年龄段 30 至 39 岁的人数为: 2
年龄段 40 至 49 岁的人数为: 1
```
说明数组b中年龄分别为5、12、25、31、18、33、22、9、40、38的10个人,按照年龄段分布统计分别为:0至9岁的人数为2人,10至19岁的人数为2人,20至29岁的人数为3人,30至39岁的人数为2人,40至49岁的人数为1人。
阅读全文