找最大值和最小值c语言
时间: 2024-10-23 08:10:48 浏览: 28
在C语言中,寻找数组的最大值和最小值通常涉及到遍历整个数组的过程。这里有两种常见的方法:
1. **逐个比较法**:
- 首先假设第一个元素是最小值和最大值,然后依次与数组中的其他元素进行比较。如果遇到比当前最小值还小的数,就更新最小值;如果遇到比当前最大值还大的数,就更新最大值。
```c
#include <stdio.h>
int main() {
int arr[] = {5, 10, 1, 8, 7};
int n = sizeof(arr) / sizeof(arr[0]);
int min = arr[0], max = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < min)
min = arr[i];
else if (arr[i] > max)
max = arr[i];
}
printf("最小值: %d\n", min);
printf("最大值: %d\n", max);
return 0;
}
```
2. **分治法(适用于特定场景,如排序后再找)**:
如果数组已经排好序或者可以快速排序,可以利用已知的排序算法(如快速排序的中间值作为边界查找)找到最小值和最大值。但这不是标准情况下的做法。
对于
相关问题
四个整数同时找最大值和最小值C语言
可以使用两个变量来记录最大值和最小值,然后逐个比较四个整数,更新最大值和最小值即可。
示例代码:
```c
#include <stdio.h>
int main() {
int a, b, c, d;
int max, min;
printf("请输入四个整数:");
scanf("%d %d %d %d", &a, &b, &c, &d);
max = a;
min = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
if (d > max) {
max = d;
}
if (b < min) {
min = b;
}
if (c < min) {
min = c;
}
if (d < min) {
min = d;
}
printf("最大值为:%d,最小值为:%d\n", max, min);
return 0;
}
```
输入四个整数找最大值和最小值c语言
#include <stdio.h>
int main() {
int a, b, c, d;
int max, min;
printf("请输入四个整数:\n");
scanf("%d%d%d%d", &a, &b, &c, &d);
max = a;
if (b > max) max = b;
if (c > max) max = c;
if (d > max) max = d;
min = a;
if (b < min) min = b;
if (c < min) min = c;
if (d < min) min = d;
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
阅读全文