在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例如,一个公司的主管可能需要了解一年来公司的营业状况,比较一下各月份的销售收入状况。如果仅给出一大堆数据,这显然太不直观了,如果能将这些数据以条形图(直方图)的形式表示,将会大大增加这些数据的直观性,也便于数据的分析与对比。下面以顾客对餐饮服务打分为例,练习这方面的程序编写方法。假设有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),试统计调查结果,并用*打印出如下形式的统计结果直方图。
Grade Count Histogram
1 5 *****
2 10 **********
3 7 *******
答案#include
#include
void print_star(int n)
{
int i;
for(i=1;i<=n;++i)
printf("*");
}
main()
{
int i,j,t;
int count[11]={0,0,0,0,0,0,0,0,0,0,0};
int score[40]={2,2,2,2,3,3,5,4,5,4,8,7,10,2,2,2,2,3,3,5,4,5,4,8,7,1,2,2,2,2,3,3,5,4,5,4,8,7,1,9};
for(i=0;i<40;++i)
{
switch(score[i])
{
case 1:count[1]+=1;break;
case 2:count[2]+=2;break;
case 3:count[3]+=3;break;
case 4:count[4]+=4;break;
case 5:count[5]+=5;break;
case 6:count[6]+=6;break;
case 7:count[7]+=7;break;
case 8:count[8]+=8;break;
case 9:count[9]+=9;break;
case 10:count[10]+=10;break;
default:printf("the %2dth score is out of range!\n",i+1);
}
}
printf("Grade Count Histograme\n");
for(i=1;i<=10;++i)
{
printf("%2d%5d\t",i,count[i]);
print_star(count[i]);
printf("\n");
}
system("pause");
}
求系统分析。。。不要流程图了