c语言打印三个数取中间数
时间: 2024-09-19 11:05:57 浏览: 43
在C语言中,要打印并获取三个输入数字中的中间值,你可以使用数组来存储这三个数,然后通过索引来访问它们。下面是一个简单的程序示例:
```c
#include <stdio.h>
int main() {
int num[3]; // 创建一个包含3个元素的整型数组
printf("请输入第一个数字: ");
scanf("%d", &num[0]);
printf("请输入第二个数字: ");
scanf("%d", &num[1]);
printf("请输入第三个数字: ");
scanf("%d", &num[2]);
// 如果数组中有偶数个元素,我们按顺序取得中间两个数的平均值作为中间数
if (3 % 2 == 0) { // 判断是否是偶数个
float middle = (num[1] + num[2]) / 2.0;
printf("中间的数是: %.2f\n", middle);
}
else { // 如果是奇数个,直接取中间的那个数
printf("中间的数是: %d\n", num[1]);
}
return 0;
}
```
在这个程序中,首先提示用户输入三个数字,然后根据数组长度是奇数还是偶数来计算并打印出中间的数值。
相关问题
c语言打印三位数取中位数
在C语言中,要打印并计算一个三位数数组的中位数,你需要先将数组排序,然后确定中间位置。如果数组元素个数是奇数,那么中位数就是正中间的元素;如果是偶数,中位数则是中间两个元素的平均值。以下是简单的步骤:
1. 定义一个存储三位数的数组,假设数组名为`arr[]`,长度为`n`。
2. 使用嵌套循环对数组进行排序。C语言本身并不提供内置的排序函数,你可以使用冒泡排序、选择排序、插入排序等简单算法,或者借助第三方库如qsort()。
```c
#include <stdio.h>
void swap(int* a, int* b) {
int t = *a;
*a = *b;
*b = t;
}
// 冒泡排序示例
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
swap(&arr[j], &arr[j + 1]);
}
}
}
}
int find_median(int arr[], int n) {
// 如果数组长度为奇数
if (n % 2 != 0) {
return arr[n / 2];
} else { // 如果数组长度为偶数
return (arr[(n - 1) / 2] + arr[n / 2]) / 2;
}
}
int main() {
int arr[] = {50, 78, 49, 65, 32, 87};
int n = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr, n); // 对数组进行排序
printf("Sorted array: \n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
int median = find_median(arr, n);
printf("\nMedian of the array is: %d\n", median);
return 0;
}
```
c语言3个数中找中间值
在C语言中,如果需要从三个给定的整数中找出中间值,可以创建一个简单的函数来完成这个任务,假设这三个数已经按照升序排列。由于没有现成的数组,我们通常会用临时变量来存储这些数值。以下是一个基本的例子:
```c
#include <stdio.h>
// 函数声明
double find_middle(int a, int b, int c) {
if (a > b) {
if (b > c)
return b;
else if (a > c)
return c;
else // 如果a == c
return a;
} else { // a <= b
if (a > c)
return a;
else if (b > c)
return c;
else // 如果b == c
return b;
}
}
int main() {
int num1, num2, num3;
printf("Enter three numbers: ");
scanf("%d %d %d", &num1, &num2, &num3);
double middle = find_middle(num1, num2, num3);
printf("The middle value is: %.2f\n", middle); // 输出到小数点后两位
return 0;
}
```
在这个程序中,`find_middle`函数接收三个整数作为参数,通过一系列if-else条件判断找到中间值并返回。在主函数中,用户输入三个数字,然后调用该函数并打印结果。
阅读全文