首 页 行业热点 新车 试驾评测 养车用车 车型库

请教c语言高手这题怎么做的?感谢!采纳给予100分奖励!

发布网友 发布时间:2025-01-09 09:29

我来回答

5个回答

热心网友 时间:2025-01-15 18:38

#include<stdio.h>

void main()

{

  int a[30],n,age,i;        //a[30]存年龄段人数,下面会初始化为0,只用到 a[0]至z[15] 分别对应16至31 岁的人数 // n为你要输入几个学生的年龄 //age是循环内你输入的临时年龄,做判断用//i循环变量

  for(i=0;i<30;i++) a[i] = 0;    //初始化为0

  printf("Enter the number of the students(<30)\n");    //描述  这里<30完全没必要 可以忽略

  scanf("%d",&n);    //首先输入一个数字 表示你接下来要输入几个学生的年龄

  printf("Enter the age of each student:\n");

  for(i=0;i<n;i++)    //开始输年龄 n次

  {

      scanf("%d",&age);//本次输入的年龄

      if(age >= 16 && age <= 31) a[age - 16]++;    //这次输入的年龄如果在16到31之间 就记录下 如 输入16则a[16-16]++ 即a[0]记录16岁总人数 a[1]记录17岁总人数...

  }

  printf("zhe result is\n");

  printf(" age number\n");

  for(i=16;i<=31;i++)     //开始输出各个年龄段的人数i表示岁数

      printf("%3d %6d\n",i,a[i-16]);

}

看得懂不

热心网友 时间:2025-01-15 18:41

能把图片横过来麽,这样容易看错

热心网友 时间:2025-01-15 18:41

 a[age-16]++; 对应年龄的人数加1,严格的做,最好再检查一下输入数据的合法性。

i = 16; i < 30;


题目中好像有点错误,应该定义a[31],或者改成统计16~30岁的人数。

热心网友 时间:2025-01-15 18:44

(1) a[age-16]++;
(2) i=16;i<=31;

热心网友 时间:2025-01-15 18:45

打字有点慢。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com