输入三个数输出既不是最大也不是最小的数的c语言代码
时间: 2024-09-20 21:16:19 浏览: 43
C语言三个数排列大小的实现方法
5星 · 资源好评率100%
在C语言中,你可以通过遍历数组并比较每个元素来找到既不是最大也不是最小的数。以下是一个简单的示例,假设你有三个整数输入:
```c
#include <stdio.h>
int findMiddle(int arr[], int n) {
if (n <= 1) {
printf("Array should have at least two elements.\n");
return -1; // 返回错误,因为无法找到中间值
}
int smallest = arr[0], largest = arr[0]; // 初始化最小和最大值
for (int i = 1; i < n; i++) {
if (arr[i] > largest) {
largest = arr[i];
} else if (arr[i] < smallest) {
smallest = arr[i];
}
}
// 中间的数可能是两者之间的任意一个,这里取中间位置的数(如果数组长度为奇数)
int middle = arr[n / 2];
if (middle != smallest && middle != largest) {
return middle;
} else {
printf("No number in the array is neither maximum nor minimum.\n");
return -1; // 如果所有数都是极端值,则返回错误
}
}
int main() {
int numbers[] = {5, 2, 9}; // 示例输入数组
int size = sizeof(numbers) / sizeof(numbers[0]);
int middleNumber = findMiddle(numbers, size);
if (middleNumber != -1) {
printf("The number that is not the maximum or minimum is: %d\n", middleNumber);
}
return 0;
}
```
这个程序首先找出数组中的最大值和最小值,然后检查中间的那个数是否满足条件。如果数组长度为偶数,中间两个数中较小的一个会被视为“非最大也不非最小”的数。
阅读全文