C语言,依次输入12个数,以三个数为一组,依次输出每一组数据的中间数,用函数实现怎么写
时间: 2024-12-23 22:17:59 浏览: 6
在C语言中,你可以通过创建一个函数来实现这个功能。首先,我们需要一个函数来获取并处理这三数一组的数据,然后主程序负责循环读取输入并调用该函数。这里是一个简单的示例:
```c
#include <stdio.h>
// 定义函数,接收数组指针、数组长度(假设每组有3个数),返回中间值
float get_median(int arr[], int n) {
if (n % 2 == 0) { // 如果数组长度偶数,中间两个数求平均
return (arr[n / 2 - 1] + arr[n / 2]) / 2.0;
} else { // 长度奇数,直接返回正中间的数
return arr[n / 2];
}
}
int main() {
int numbers[12]; // 存储输入的12个数
int i = 0;
// 依次输入12个数
printf("请输入12个整数:\n");
for (; i < 12; i++) {
scanf("%d", &numbers[i]);
}
// 将12个数分为4组,每组3个数
for (i = 0; i < 4; i++) {
int start = i * 3;
int end = start + 2;
// 计算并输出当前组的中间数
float median = get_median(&numbers[start], end - start);
printf("第%3d组的中间数是: %.1f\n", i + 1, median);
}
return 0;
}
```
在这个程序中,`get_median`函数用于计算给定数组的中间值,`main`函数则负责输入数据和调用这个函数。注意,这个代码假定用户会输入整数,如果你需要处理其他类型的数值,可以相应地调整`scanf`和`printf`。
阅读全文