|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
/*
输入学生的分数并显示出分布情况
*/
#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);
puts("请输入学生的分数。");
for (i = 0; i < num; i++) {
printf("%2d号:", i + 1);
do {
scanf("%d", &tensu[i]);
if (tensu[i] < 0 || tensu[i] > 100)
printf("\a分数范围[0到100]:");
} while (tensu[i] < 0 || tensu[i] > 100) ;
bunpu[tensu[i] / 10]++;
}
puts("\n----分布图----");
printf(" 100:");
for (j = 0; j < bunpu[10]; j++)
putchar('*');
putchar('\n');
for (i = 9; i >= 0; i--) {
printf("%3d - %3d:", i * 10, i * 10 + 9);
for (j = 0; j < bunpu[i]; j++)
putchar('*');
putchar('\n');
}
return (0);
}
输出结果
对于打印分布图的语句 for (j = 0; j < bunpu[10]; j++) 中的j<bunpu[10];不理解,已bunpu[10]为判断条件
bunpu[10]中存的不是星的次数吗? |
|