- 编程题,直方图(Histogram)又称柱状图,是一种统计报告图,由一系列高度不等的纵(横)向条纹或线段表示数据分布的情况。 一般用横轴表示数据项,纵轴表示值的大小(或相反)。
(1) 请编写如下的用字符来绘制简易直方图的函数:
void DrawHistogram(int nArray[], int nCount, char ch);
其中,nArray为具有nCount个元素的数组,ch为画图用的字符。若ch为字符,则该函数能输出由多行多个连续星号构成的图形,以表示该组数的直方图。如果数组中的内容为 15 10 13 8 2 5,则对应简易直方图可以是:
*************** 15
********** 10
************* 13
******** 8
** 2
***** 5
思考:如何绘制竖直方图,使之看起来更自然?
(2) 针对你的实验数据,请自己设计若干取值区间,编写函数:
void CountRangeItems(double dArray[], int nDataItems, int nArray[]);
用于统计dArray的数据在各区间中的出现的项数(数据区间分布统计),把这些项数存入数组nArray中。如身高数据设有5个区间:160人以下,2人,160-165, 3人,166-170, 5人,171-175,4人,175以上,8人,共5个区间,5项统计数据。函数应算出这5项统计数据2,3,5,4,8,并存入数组nArray的0..4单元中。统计结果作为DrawHistogram中的nArray参数,区间数5作为nCount参数