萌辉 发表于 2017-7-23 09:36:44

成绩分布图

/*
    输入学生的分数并显示出分布情况
*/

#include <stdio.h>

#define NUMBER 80                                 // 人数上限   

int main(void)
{
    int i, j;
    int num;                                    // 实际的人数
    int tensu;                            // 学生的分数
    int bunpu = {0};                        // 分布图   
      
    printf("请输入学生人数:");
      
    do {
      scanf("%d", &num);
      if (num < 1 || num > NUMBER)
            printf("\a人数范围 :", NUMBER);
    } while (num < 1 || num > NUMBER);
      
    puts("请输入学生的分数。");
    for (i = 0; i < num; i++) {
      printf("%2d号:", i + 1);
      do {   
            scanf("%d", &tensu);
            if (tensu < 0 || tensu > 100)
                printf("\a分数范围:");
      } while (tensu < 0 || tensu > 100) ;
      bunpu / 10]++;
    }   
      
    puts("\n----分布图----");
    printf("      100:");
    for (j = 0; j < bunpu; j++)
      putchar('*');
    putchar('\n');
      
    for (i = 9; i >= 0; i--) {
      printf("%3d - %3d:", i * 10, i * 10 + 9);
      for (j = 0; j < bunpu; j++)
            putchar('*');
      putchar('\n');
    }
      
   return (0);   
}   
输出结果


对于打印分布图的语句for (j = 0; j < bunpu; j++) 中的j<bunpu;不理解,已bunpu为判断条件
bunpu中存的不是星的次数吗?

超凡天赐 发表于 2017-7-26 14:00:16

你写的代码在我这里测试时有错误的。你这个编程题目是什么?直接给个代码我是没办法回答的{:10_247:}
页: [1]
查看完整版本: 成绩分布图