C语言全校学生的年龄在16到30岁之间,请用数组元素作为计数器来统计每一年龄的人数
时间: 2023-05-25 20:03:03 浏览: 429
```
#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语言
可以用一个长度为15的数组,分别存储16到30岁每个年龄段的人数。具体实现如下:
```c
#include <stdio.h>
#define AGE_RANGE 15
int main() {
int ages[AGE_RANGE] = {0}; // 初始化数组每个元素为0
int age;
printf("请输入学生年龄(16-30岁):\n");
while (scanf("%d", &age) == 1) { // 输入年龄,直到输入非整数为止
if (age < 16 || age > 30) { // 年龄不在16到30岁之间
printf("输入无效,年龄必须在16到30岁之间。\n");
continue;
}
ages[age-16]++; // 年龄在16到30岁之间,对应数组下标加1
}
printf("年龄 人数\n");
for (int i = 0; i < AGE_RANGE; i++) {
printf("%2d岁 %2d\n", i+16, ages[i]); // 输出每个年龄段的人数
}
return 0;
}
```
在输入年龄时,如果输入的年龄不在16到30岁之间,程序会提示输入无效,并重新等待输入。最后,程序会输出每个年龄段的人数。
阅读全文