C语言:下面程序的功能是统计年龄在16~31岁之间的学生

35.下面程序的功能是统计年龄在16~31岁之间的学生
人数。请填空:
main()
{int a[30]},n,age,I;
for(I=0;I<30;I++) a[I]=0;
printf(“Enter the number of the students(<30)\n”);
scanf(“%d”,&n);
printf(“Enter the age of each student:|\n”);
for(I=0;I<n;I++)
{scanf(“%d”,&age); ________(1)________;}
printf(“the result is\n”);
printf(“age number\n”);
for(_________(2)_________;I++)
printf(%3d %6d\n”,I,a[I-16]);}
XI,不会就是不会,瞎回答什么啊,贴个百度搜索就行了,XI
继续等高手

答案为:
a[age-16]++ i=16;i<32
题目表述有问题。程序统计的是每个年龄的有多少人数,例如16,每输入一个16,a[age-16]就会加一(就是a[0]+1)。
如果连续输入:
16,16,16,17,17,18,19,30
结果就是:
16 3
17 2
18 1
19 1
20 0
21 0

30 1
31 0
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
老实说,这个程序写得实在是太烂了。年龄已经限定是16-31了,干嘛还要声明a[30],a[16]不就够了么。

(1) a[age-16]++;
(2) l=16;l<=31本回答被提问者采纳
第2个回答  2006-07-06
(1) a[I] = age;
(2) I = 16; I < n + 16;

为什么这各语句要这么写呢!?a[I -16]???
printf(%3d %6d\n”,I,a[I-16]);
第3个回答  2006-07-06
(1) a[I] = age;
(2) I = 16; I < n + 16;

为什么这各语句要这么写呢!?a[I -16]???
printf(%3d %6d\n”,I,a[I-16]);
相似回答