C语言求数组中元素最大值最小值
时间: 2023-05-14 17:07:00 浏览: 104
你好,这是一个非常基础的问题,求一个数组中元素的最大值和最小值可以通过遍历数组来实现。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int arr[] = {3, 5, 2, 8, 1};
int len = sizeof(arr) / sizeof(arr[0]);
int max = arr[0], min = arr[0];
for (int i = 1; i < len; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
printf("最大值:%d,最小值:%d\n", max, min);
return 0;
}
```
希望能够帮到你!
相关问题
C语言求数组的最大值和最小值代码
以下是C语言代码实现求数组的最大值和最小值:
```c
#include <stdio.h>
int main() {
int arr[] = {3, 6, 2, 8, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int max = arr[0], min = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
```
代码中首先定义了一个整型数组`arr[]`,然后通过`sizeof()`函数和`/`运算符计算出数组的元素个数。接着定义了两个变量`max`和`min`,初始化为数组的第一个元素。然后使用`for`循环遍历整个数组,依次将数组中的元素与`max`和`min`比较,更新最大值和最小值。最后输出结果即可。
C语言交换数组中的最大值和最小值
以下是 C 语言代码实现交换数组中的最大值和最小值:
```c
#include <stdio.h>
void swap(int *a, int *b) { // 交换两个元素
int temp = *a;
*a = *b;
*b = temp;
}
void swapMinMax(int arr[], int n) { // 交换最大值和最小值
int minIndex = 0, maxIndex = 0; // 最小值和最大值的下标
int i;
for (i = 1; i < n; ++i) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
swap(&arr[minIndex], &arr[maxIndex]);
}
int main() {
int arr[] = {3, 6, 2, 7, 1, 8, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
printf("原始数组:");
for (int i = 0; i < n; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
swapMinMax(arr, n); // 交换最大值和最小值
printf("交换后数组:");
for (int i = 0; i < n; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
原始数组:3 6 2 7 1 8 4 5
交换后数组:3 6 8 7 1 2 4 5
```
这里使用了函数 `swap` 来交换两个元素的值,再在 `swapMinMax` 函数中找到最小值和最大值的下标,然后调用 `swap` 函数交换它们的值。