C语言全校学生的年龄在16到30岁之间,请用数组元素作为计数器来统计每一年龄的人数
时间: 2023-05-25 07:03:03 浏览: 330
```
#include<stdio.h>
int main(){
int age[15]={0}; // 初始化计数器数组,因为年龄范围是16到30,所以数组大小为15
int i,n;
scanf("%d",&n); // 输入学生数量
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]); // 输入每个学生的年龄,并统计各年龄人数
age[a[i]-16]++;
}
for(i=0;i<15;i++){
printf("%d岁的人数为%d\n",16+i,age[i]); // 输出各年龄人数
}
return 0;
}
```
输入示例:
```
10
17 18 19 20 22 23 24 24 25 28
```
输出示例:
```
16岁的人数为0
17岁的人数为1
18岁的人数为1
19岁的人数为1
20岁的人数为1
21岁的人数为0
22岁的人数为1
23岁的人数为1
24岁的人数为2
25岁的人数为1
26岁的人数为0
27岁的人数为0
28岁的人数为1
29岁的人数为0
30岁的人数为0
```
相关问题
用C语言解答输入某班学生某门课程的成绩到数组(最多不超过40人,具体人数由用户键盘输入),统计不及格人数。
好的,这是一个编程问题,可以为您提供以下C语言代码:
```
#include <stdio.h>
int main() {
int num; // 学生个数
int scores[40]; // 成绩数组
int count = 0; // 不及格人数计数器
printf("请输入学生人数(不超过40人):");
scanf("%d", &num);
printf("请输入成绩(每个成绩之间用空格隔开):");
for (int i = 0; i < num; i++) {
scanf("%d", &scores[i]);
if (scores[i] < 60) {
count++;
}
}
printf("不及格人数为:%d\n", count);
return 0;
}
```
全校学生的年龄在16-30岁之间,请用C语言编写程序,输入一批16-30之间的年龄,以-1结束输入,用数组元素作为计数器来统计每一年龄的人数。
好的,这是一个简单的统计年龄的程序,以下是代码:
```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才能映射到正确的数组元素。
阅读全文