为了账号安全,请及时绑定邮箱和手机立即绑定

这个代码我有几句看不懂,希望大神帮我解释一下(题目是输入学生的分数并显示分布情况)

这个代码我有几句看不懂,希望大神帮我解释一下(题目是输入学生的分数并显示分布情况)

C
叫什么名字好呢1 2016-07-28 17:03:26
#include <stdio.h> #define NUMBER 80  //人数上限 int main(void) { int i, j; int num;//实际人数 int score[NUMBER];//学生分数 int fenbu[11] = {0};//分布图 printf("请输入学生人数: "); do { scanf("%d", &num); if (num < 1 || num > NUMBER) printf("\a人数范围[1 to %d]: ", NUMBER); } while (num < 1 || num > NUMBER); puts("请输入学生的分数:"); for (i = 0; i < num; i++) { printf("No.%2d: ", i + 1); do { scanf("%d", &score[i]); if (score[i] < 0 || score[i] > 100) printf("\a分数范围[1 to 100]: "); } while (score[i] < 0 || score[i] > 100); fenbu[score[i] / 10]++;    /*这句我看不懂*/ } puts("\n ★分布图★"); printf("      100: "); for (j = 0; j < fenbu[10];j++); /*这句也是,我看不懂*/ putchar('*'); putchar('\n'); for (i = 9; i >= 0; i--) { printf("%3d - %3d: ", i * 10, i * 10 + 9); for (j = 0; j < fenbu[i]; j++)/*还有这一句,我不懂*/ putchar('*'); putchar('\n'); } return 0; }
查看完整描述

2 回答

?
KXFT

TA贡献113条经验 获得超58个赞

你的看不懂的都是一个问题,就拿fengbu[i]来举例,fengbu[i]代表的是fengbu这个数组第i+1个数的值,这个i可以是score[i] / 10,

查看完整回答
反对 回复 2016-07-28
  • 叫什么名字好呢1
    叫什么名字好呢1
    fenbu[10]就是的100分的人数吧,但是它是怎么得出这些分数段的人数的呢? 而且第一个循环fenbu[score[i] / 10]++; 我真的看不懂这是什么意思,能仔细给我讲讲吗
  • KXFT
    KXFT
    例如有人得了100,他是score[i],那么fenbu[score[i] / 10]++;就变成了fenbu[100/ 10]++=fenbu[10]++对吧,最终结果就变成了fenbu[10]的值+1,也就是这个分数段的人+1循环结束之后就可以得到分布图了。
  • 叫什么名字好呢1
    叫什么名字好呢1
    谢谢你,我明白了
  • 2 回答
  • 0 关注
  • 1438 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信