C语言截取数组中连续8个大于某一值
时间: 2024-11-29 13:33:47 浏览: 0
在C语言中,如果你想从数组中截取连续8个大于某个特定值的元素,你可以使用遍历和条件判断的方式来实现。这里是一个基本的例子:
```c
#include <stdio.h>
// 假设数组名是arr,数组长度是n,目标值是threshold
void extractAndPrintGreaterThan(int arr[], int n, int threshold) {
int count = 0;
int start_index = -1; // 存储开始索引
for (int i = 0; i < n && count < 8; i++) { // 遍历直到找到8个或遍历完
if (arr[i] > threshold) {
count++;
if (start_index == -1) { // 如果还未找到开始索引,则设置
start_index = i;
}
} else {
if (count >= 8 || start_index == -1) continue; // 没有满足条件,跳过剩余元素
// 找到8个符合条件的元素后,输出这部分数组
for (int j = start_index; j <= i; j++) {
printf("%d ", arr[j]);
}
// 清空开始索引,准备下一次查找
start_index = -1;
break;
}
}
}
int main() {
int arr[] = {5, 10, 15, 20, 25, 30, 35, 40, 45, 50};
int n = sizeof(arr) / sizeof(arr[0]);
int threshold = 20;
extractAndPrintGreaterThan(arr, n, threshold);
return 0;
}
```
这个函数会打印出数组中连续8个大于`threshold`的元素。如果找到不足8个符合条件的元素,那么就会打印出来已经找到的所有那些。
阅读全文