使用c语言编写算法统计落在[0, 20), [20, 50), [50, 80), [80, 120), [120, 200)各区间内的元素数量
时间: 2024-09-15 21:08:37 浏览: 30
基于C语言实现线画图元生成算法【100012533】
在C语言中,你可以通过创建一个计数数组或者使用结构体来存储每个区间的开始值和结束值以及相应的计数。下面是一个简单的示例,我们将使用结构体和循环来遍历数组并更新计数:
```c
#include <stdio.h>
typedef struct {
int lower_bound;
int upper_bound;
int count;
} Interval;
void count_elements(int arr[], int n, Interval intervals[]) {
for (int i = 0; i < n; ++i) {
// 确定arr[i]所在的区间
for (int j = 0; j < 5; ++j) {
if (arr[i] >= intervals[j].lower_bound && arr[i] < intervals[j].upper_bound) {
intervals[j].count++;
break;
}
}
}
}
// 初始化区间结构体数组
Interval intervals[] = { {0, 20, 0}, {20, 50, 0}, {50, 80, 0}, {80, 120, 0}, {120, 200, 0} };
int main() {
int arr[] = {15, 40, 67, 90, 180, 105};
int n = sizeof(arr) / sizeof(arr[0]);
count_elements(arr, n, intervals);
printf("Element counts in each interval:\n");
for (int i = 0; i < 5; ++i) {
printf("[%d, %d): %d\n", intervals[i].lower_bound, intervals[i].upper_bound, intervals[i].count);
}
return 0;
}
```
在这个程序里,`count_elements` 函数遍历输入数组 `arr`,将每个元素分配给相应的区间,并增加该区间的计数。在主函数中,我们初始化了区间信息,然后调用 `count_elements` 来统计。
运行这个程序,你会看到落入各个区间内的元素数量。
阅读全文