全校学生的年龄在 16 到 30 岁之间,请编写程序 输入一批 16 至 30 之间的年龄,以 -1 结束输入,用数组元素作为计数器来统计每一年龄的人数。
时间: 2023-04-11 19:00:32 浏览: 138
好的,这是一个计算问题,我可以回答。以下是一个示例程序:
```python
ages = [0] * 15 # 初始化计数器数组,共有 15 个元素,分别对应 16 到 30 岁的年龄段
while True:
age = int(input("请输入一个年龄(16-30),输入 -1 结束:"))
if age == -1:
break
elif age < 16 or age > 30:
print("输入的年龄不在有效范围内,请重新输入!")
else:
ages[age - 16] += 1 # 对应年龄段的计数器加 1
# 输出每个年龄段的人数
for i in range(len(ages)):
print("{} 岁的人数为:{}".format(i + 16, ages[i]))
```
希望这个程序能够帮到你!
相关问题
全校学生的年龄在16到30岁之间,请编写程序,输入一批16至30之间的年龄,以-1结束输入,用数组元素作为计数器来统计每一年龄的人数
### 回答1:
您好,根据您的要求,我可以回答这个问题。以下是程序的代码:
#include <stdio.h>
#define MAX_AGE 30
#define MIN_AGE 16
int main() {
int age, count[MAX_AGE-MIN_AGE+1] = {};
printf("请输入16到30岁之间的年龄,以-1结束输入:\n");
scanf("%d", &age);
while (age != -1) {
if (age >= MIN_AGE && age <= MAX_AGE) {
count[age-MIN_AGE]++;
}
scanf("%d", &age);
}
printf("年龄\t人数\n");
for (int i = ; i < MAX_AGE-MIN_AGE+1; i++) {
printf("%d\t%d\n", i+MIN_AGE, count[i]);
}
return ;
}
希望能够帮到您!
### 回答2:
题目要求编写一个程序,输入一批年龄数据,并统计每个年龄的人数。题目给出的条件是全校学生的年龄在16到30岁之间。
思路:
1. 声明一个数组arr,用于存储每个年龄段的人数。数组长度为30-16+1=15,表示16到30岁之间共15个年龄段。
2. 初始化数组arr的每个元素为0,用来计数。
3. 循环输入年龄数据,直到输入-1为止。
4. 对于输入的年龄数据,判断其是否在16到30之间。如果是,则将对应年龄段的计数器加1。
5. 最后,遍历数组arr并打印每个年龄段对应的人数。
代码如下所示:
```python
# 初始化年龄段计数器数组
arr = [0] * 15
# 输入年龄数据
while True:
age = int(input("请输入一个16到30之间的年龄:"))
if age == -1:
break
if 16 <= age <= 30:
arr[age-16] += 1
# 打印结果
for i in range(len(arr)):
print("年龄段{}的人数为:{}".format(i+16, arr[i]))
```
以上代码使用Python编写。通过输入一批年龄数据,并统计每个年龄段的人数,最后输出结果。注意数组的下标与年龄的对应关系,需要将输入的年龄减去16再作为数组的下标。
### 回答3:
下面是一个示例程序,用于实现输入一批年龄,并统计每个年龄段的人数。程序使用一个长度为15的整数型数组作为计数器,数组下标对应年龄(16对应下标0,17对应下标1,以此类推,30对应下标14)。
```python
# 初始化计数器数组
counters = [0] * 15
while True:
age = int(input("请输入年龄(16-30),输入-1结束:"))
# 判断输入是否合法
if age == -1:
break
elif age < 16 or age > 30:
print("输入年龄不合法,请重新输入!")
continue
# 根据年龄增加对应年龄段的人数
counters[age - 16] += 1
# 输出统计结果
for i in range(len(counters)):
print("年龄{}的人数为:{}".format(i + 16, counters[i]))
```
通过运行上述程序,您可以逐个输入年龄,并在输入-1后停止输入。程序会将每个年龄段的人数统计到相应的计数器中,并在最后输出每个年龄段的人数。
全校学生的年龄在16到30岁之间,请编写程序输入一批 16 至30之间的年龄,以-1结束输入,用数组元素作为计数器来统计每一年龄 的人数。
您好,根据您的要求,我可以回答您的问题。以下是程序的代码:
#include <stdio.h>
int main() {
int age[15] = {}; // 初始化数组,15个元素,每个元素代表一个年龄
int inputAge; // 输入的年龄
int index; // 数组下标
printf("请输入学生的年龄,以-1结束输入:\n");
do {
scanf("%d", &inputAge); // 输入年龄
if (inputAge >= 16 && inputAge <= 30) { // 判断年龄是否在16到30之间
index = inputAge - 16; // 计算数组下标
age[index]++; // 对应年龄的人数加1
}
} while (inputAge != -1);
printf("各年龄段的人数如下:\n");
for (int i = ; i < 15; i++) {
printf("%d岁的人数:%d\n", i + 16, age[i]); // 输出各年龄段的人数
}
return ;
}
希望能够帮到您。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)