C语言输入5个数,找中位数
时间: 2024-11-09 19:29:09 浏览: 11
在C语言中,要计算一组五个整数的中位数,你需要首先读取这五个数字,然后对它们进行排序。以下是基本步骤:
1. 定义一个数组`nums[5]`用于存储5个输入的整数。
2. 使用`scanf`函数从用户那里获取5个数字,并存储到数组中。
3. 对数组进行排序。由于标准库并没有提供直接的排序函数,你可以选择手动编写冒泡排序、插入排序或者使用更高效的算法如快速排序或归并排序,这里我们以冒泡排序为例:
```c
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4 - i; j++) {
if (nums[j] > nums[j + 1]) {
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
```
4. 计算中位数。如果数组长度是奇数,则中位数就是中间的那个元素;如果是偶数,则是中间两个数的平均值。由于数组已排好序,我们可以简单地根据数组长度确定中位数的位置:
```c
int median;
if (5 % 2 == 0) { // 偶数个数
median = (nums[2] + nums[3]) / 2;
} else { // 奇数个数
median = nums[2]; // 中间位置的元素
}
```
完整的代码可能会像这样:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
// 冒泡排序代码...
}
int main() {
int nums[5], i;
printf("Enter 5 numbers: ");
for (i = 0; i < 5; i++) {
scanf("%d", &nums[i]);
}
bubbleSort(nums, 5);
// 计算并输出中位数
int median;
if (5 % 2 == 0) {
median = (nums[2] + nums[3]) / 2;
} else {
median = nums[2];
}
printf("The median of the numbers is: %d\n", median);
return 0;
}
```
阅读全文