全校学生的年龄在16到30岁之间,请编写程序,输入一批16至30之间的年龄,以-1结束输入,用数组元素作为计数器来统计每一年龄的人数
时间: 2023-08-31 14:30:59 浏览: 403
### 回答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后停止输入。程序会将每个年龄段的人数统计到相应的计数器中,并在最后输出每个年龄段的人数。
阅读全文