c语言怎么删除大于19.5和小于18.5的数据
时间: 2024-03-21 20:41:36 浏览: 114
在 C 语言中,我们可以使用数组和循环来实现删除大于19.5和小于18.5的数据。具体实现代码如下:
```c
#include <stdio.h>
int main() {
float data[] = {19.2, 18.9, 19.4, 19.3, 19.1, 19.0, -20, 10.5};
int n = sizeof(data) / sizeof(float); // 数组大小
int i, j;
for (i = 0, j = 0; i < n; i++) {
if (data[i] >= 18.5 && data[i] <= 19.5) {
data[j] = data[i]; // 将有效数据移到数组前面
j++;
}
}
n = j; // 更新数组大小
float min_value = data[0];
for (i = 1; i < n; i++) {
if (data[i] < min_value) {
min_value = data[i]; // 查找最小值
}
}
printf("处理后的数据: ");
for (i = 0; i < n; i++) {
printf("%.2f ", data[i]); // 输出有效数据
}
printf("\n最小值为: %.2f\n", min_value);
return 0;
}
```
首先定义一个 `float` 类型的数组 `data`,存放原始数据。然后通过循环遍历数组,将大于19.5和小于18.5的数据删除。具体做法是定义两个变量 `i` 和 `j`,其中 `i` 用于遍历原始数组,`j` 用于记录有效数据的位置。当遍历到一个有效数据时,将其复制到数组的前面,并将 `j` 加 1。最后,根据 `j` 的值更新数组大小,得到有效数据的个数。
接着,我们遍历有效数据,查找最小值。具体做法是定义一个变量 `min_value`,将其初始化为数组第一个元素,然后遍历数组,如果当前元素小于 `min_value`,则更新 `min_value` 的值。
最后,我们输出有效数据和最小值。注意,在输出时需要使用循环遍历有效数据,使用 `printf` 函数格式化输出。
阅读全文