C语言新手求大佬解释一下代码当中的一行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言新手求大佬解释一下代码当中的一行相关的知识,希望对你有一定的参考价值。
/*输入学生的分数并显示出分布情况*/#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]++;这一行代表的意思是什么呀,有什么作用,为什么要这样写。 展开
参考技术A 比如有一个人78分,那么78/10由于int取下限,就是7,bunpu[tensu[i]/10]++;就是bunpu[7]++,即分类为7的人数加1,同样的,53就是分类为5的人数加1,等等
以上是关于C语言新手求大佬解释一下代码当中的一行的主要内容,如果未能解决你的问题,请参考以下文章