c语言打印三个数取中间数
时间: 2024-09-19 11:05:57 浏览: 13
在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语言写一个三角形三条gg
在C语言中,创建一个简单的三角形并不需要函数,因为我们可以直接通过打印字符来构建。下面是一个基本的例子,演示如何使用循环打印字符来形成上底、下底和中间的竖线,以形成一个等边三角形:
```c
#include <stdio.h>
int main() {
int height = 5; // 你可以改变这个值调整三角形的高度
char symbol = '*'; // 使用星号(*)作为默认字符
// 打印上底
for (int i = 0; i < height; i++) {
printf("*");
if (i != height - 1) { // 避免打印最后一个元素后的空格
printf("%*c", height - i - 1, ' ');
}
}
printf("\n"); // 换行
// 打印中间的竖线
printf("%s\n", height * symbol); // 直接打印一行竖线
// 打印下底
for (int i = height - 2; i >= 0; i--) { // 从高到低打印
printf("%*c", height - i - 1, ' ');
printf("*");
}
return 0;
}