1. 题目
有n个大于等于0小于1的数,分别统计在区间[0, 0.1)、[0.1, 0.2) 、[0.2, 0.3) 、[0.3, 0.4) 、[0.4, 0.5) 、[0.5, 0.6) 、[0.6, 0.7) 、[0.7, 0.8) 、[0.8, 0.9) 、[0.9, 1.0)中元素的个数。
2 分析
元素一共被分为了10组,因此申请一个大小为10的数组ST分别与区间相对应,例ST[0]对应区间[0, 0.1)中元素的个数。元素s扩大10倍取整的值正好是与其所属区间对应的数组下标。
3 实现
int *statisticalDistribution(doubledata[], int n)
{
int *ST = new int[10];
for (int i = 0; i < 10; ++i)
{
ST[i] = 0;
}
for (int i = 0; i < n; ++i)
{
ST[(int)(data[i]*10)]++;
}
return ST;
}