C语言新手求大佬解释一下代码当中的一行

/*输入学生的分数并显示出分布情况*/#include<stdio.h>#defineNUMBER80/*人数上限*/intmain(void){inti,j;intnu... /*输入学生的分数并显示出分布情况*/#include<stdio.h>#defineNUMBER80/*人数上限*/intmain(void){inti,j;intnum;/*实际的人数*/inttensu[NUMBER];/*学生的分数*/intbunpu[11]={0};/*... /* 输入学生的分数并显示出分布情况 */ #include <stdio.h> #define NUMBER 80 /* 人数上限 */ int main(void) { int i, j; int num; /* 实际的人数 */ int tensu[NUMBER]; /* 学生的分数 */ int bunpu[11] = {0}; /* 分布图 */ printf("请输入学生人数:"); do { scanf("%d", &num); if (num < 1 || num > NUMBER) printf("\a 请输入1~%d 的数:", NUMBER); } while (num < 1 || num > NUMBER); printf("请输入%d 人的分数。\n", num); for (i = 0; i < num; i++) { printf("%2d号:", i + 1); do { scanf("%d", &tensu[i]); if (tensu[i] < 0 || tensu[i] > 100) printf("\a请输入1~100 的数:"); } while (tensu[i] < 0 || tensu[i] > 100); bunpu[tensu[i] / 10]++; } puts("\n---分布图---"); printf(" 100:"); for (j = 0; j < bunpu[10]; j++) /* 100分 */ putchar('*'); putchar('\n'); for (i = 9; i >= 0; i--) { /* 不到100分 */ printf("%3d - %3d:", i * 10, i * 10 + 9); for (j = 0; j < bunpu[i]; j++) putchar('*'); putchar('\n'); } return 0; } bunpu[tensu[i] / 10]++;这一行代表的意思是什么呀,有什么作用,为什么要这样写。 展开 展开
 我来答
恽景烟翠柏
2019-09-18 · TA获得超过3758个赞
知道大有可为答主
回答量:3128
采纳率:29%
帮助的人:236万
展开全部
比如有一个人78分,那么78/10由于int
取下限,就是7,bunpu[tensu[i]/10]++;就是bunpu[7]++,即分类为7的人数加1,同样的,53就是分类为5的人数加1,等等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式