3. 假定一维整型数组a[n]中的每个元素值均在[0,200]区间内,用C++函数编写一个算法,分别统计出落在[0,20],[21,50],[51,80],[81,130],[131,200]等各区间内的元素个数
时间: 2024-09-16 15:04:12 浏览: 30
2017.12.07.zip_10.1d_2017.12.07_C++_pastrtz
在C++中,你可以创建一个函数来统计给定一维整型数组中各个区间内的元素个数。下面是一个简单的示例,这个函数会接受数组、数组大小以及区间的边界作为输入:
```cpp
#include <iostream>
int countElementsInIntervals(int a[], int n, int intervals[][]) {
// 定义结果数组存储每个区间的计数值
int counts[5] = {0};
for (int i = 0; i < n; ++i) {
// 检查当前元素落入哪个区间
for (int j = 0; j < 5; ++j) {
if (intervals[j][0] <= a[i] && a[i] <= intervals[j][1]) {
// 如果在区间内,增加计数
counts[j]++;
break;
}
}
}
return counts;
}
// 区间边界示例
int intervals[][] = {{0, 20}, {21, 50}, {51, 80}, {81, 130}, {131, 200}};
int main() {
int a[] = {15, 30, 45, 60, 75, 90, 110, 160}; // 示例数组
int n = sizeof(a) / sizeof(a[0]);
int result = countElementsInIntervals(a, n, intervals);
for (int i = 0; i < 5; ++i) {
std::cout << "区间[" << intervals[i][0] << ", " << intervals[i][1] << "]内的元素个数: " << result[i] << "\n";
}
return 0;
}
```
在这个示例中,`countElementsInIntervals` 函数遍历数组 `a`,检查每个元素属于哪个区间,并相应地更新 `counts` 数组。在主函数中,我们定义了区间并应用到实际数组上,然后打印出每个区间的元素个数。
阅读全文