全校学生的年龄在16-30岁之间,请用C语言编写程序,输入一批16-30之间的年龄,以-1结束输入,用数组元素作为计数器来统计每一年龄的人数。
时间: 2024-02-16 09:05:25 浏览: 196
好的,这是一个简单的统计年龄的程序,以下是代码:
```c
#include <stdio.h>
int main() {
int age, count[15] = {0}; // 由于年龄在16-30之间,所以数组大小为15
printf("请输入一批16-30之间的年龄(以-1结束):\n");
while (1) {
scanf("%d", &age);
if (age == -1) break;
count[age - 16]++;
}
printf("年龄\t人数\n");
for (int i = 0; i < 15; i++) {
printf("%d\t%d\n", i + 16, count[i]);
}
return 0;
}
```
程序思路如下:
1. 定义一个整型数组 `count` 来记录每个年龄的人数,数组大小为15,因为年龄在16-30之间共有15个年龄。
2. 通过 `scanf` 函数输入一批16-30之间的年龄,以-1作为输入结束标志。
3. 当输入的年龄不为-1时,使用数组元素作为计数器来统计每个年龄的人数,例如输入的年龄为18,则 `count[18-16]++`,相当于 `count[2]++`,表示年龄为18的人数加1。
4. 使用循环遍历整个 `count` 数组,输出每个年龄的人数。
注意,由于输入的年龄在16-30之间,所以数组下标需要减去16才能映射到正确的数组元素。
相关问题
全校学生的年龄在 16 到 30 岁之间,请编写程序 输入一批 16 至 30 之间的年龄,以 -1 结束输入,用数组元素作为计数器来统计每一年龄的人数。
好的,这是一个计算问题,我可以回答。以下是一个示例程序:
```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结束输入,用数组元素作为计数器来统计每一年龄 的人数。
您好,根据您的要求,我可以回答您的问题。以下是程序的代码:
#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 ;
}
希望能够帮到您。
阅读全文