用指针求含有n(n不大于20)个元素的整型数组的最大值和最小值
时间: 2023-06-05 12:47:58 浏览: 122
可以定义两个变量max和min,分别存储数组中的最大值和最小值。然后用指针遍历整个数组,比较每个元素与max和min的大小关系,更新max和min的值即可。
具体实现如下:
```c++
void findMaxMin(int* arr, int n, int& max, int& min) {
max = arr[];
min = arr[];
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
}
```
调用方式如下:
```c++
int arr[20] = {1, 2, 3, 4, 5};
int max, min;
findMaxMin(arr, 5, max, min);
cout << "max: " << max << endl;
cout << "min: " << min << endl;
```
输出结果为:
```
max: 5
min: 1
```
相关问题
用c++引用传递求整型数组最大值和最小值
使用C语言中的引用传递,可以通过传递数组的指针来求解整型数组的最大值和最小值。可以定义两个函数,一个用来求最大值,一个用来求最小值。具体步骤如下:
1. 创建两个函数max和min,接受整型数组的指针和数组的长度作为参数。
2. 在max函数中,初始化一个变量max_num为数组的第一个元素,然后遍历数组中的每个元素,如果当前元素大于max_num,则将max_num更新为当前元素。
3. 在min函数中,初始化一个变量min_num为数组的第一个元素,然后遍历数组中的每个元素,如果当前元素小于min_num,则将min_num更新为当前元素。
4. 在主函数中,声明一个整型数组并初始化,然后分别调用max和min函数,将数组的指针和长度作为参数传递给这两个函数。
5. 最后,在主函数中输出最大值和最小值。
示例代码如下:
```
#include <iostream>
using namespace std;
void max(int *arr, int size) {
int max_num = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max_num) {
max_num = arr[i];
}
}
cout << "最大值: " << max_num << endl;
}
void min(int *arr, int size) {
int min_num = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] < min_num) {
min_num = arr[i];
}
}
cout << "最小值: " << min_num << endl;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
max(arr, size);
min(arr, size);
return 0;
}
```
指针程序输出数组中的最大值和最小值并返回位置下标
下面是一个示例程序,用于输出数组中的最大值和最小值,并返回它们的位置下标:
```c
#include <stdio.h>
int main() {
int arr[] = { 2, 3, 1, 7, 4, 6, 5 };
int n = sizeof(arr) / sizeof(int);
int max = arr[0];
int min = arr[0];
int max_idx = 0;
int min_idx = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
max_idx = i;
}
if (arr[i] < min) {
min = arr[i];
min_idx = i;
}
}
printf("Max value: %d, index: %d\n", max, max_idx);
printf("Min value: %d, index: %d\n", min, min_idx);
return 0;
}
```
该程序先定义了一个整型数组 `arr`,并计算出它的长度 `n`。接着,使用 `for` 循环遍历数组,通过比较得到最大值和最小值,并记录它们的位置下标。最后,使用 `printf` 函数输出结果。
在该示例程序中,使用了四个变量 `max`、`min`、`max_idx` 和 `min_idx` 来分别保存最大值、最小值及它们的位置下标。在循环中,如果当前元素大于 `max`,则更新 `max` 和 `max_idx`;如果当前元素小于 `min`,则更新 `min` 和 `min_idx`。最后,输出结果即可。
阅读全文