程序填空题:求一维数组的最大值和最小值
找出给定的$$n$$个数中的最大值和最小值。
### 输入格式:
输入在第一行中给出一个正整数$$n$$($$1
### 输出格式:
在一行中输出最大值和最小值,中间用一个空格分开。
### 输入样例:
```
6
2 8 10 1 9 10
```
### 输出样例:
```
10 1
```
```c++
#include
#define MAXN 10
void find(int a[], int n, int *pmax, int * pmin);
int main()
{
int i, n, min, max;
int a[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
@@[find(a, n, &max, &min);](2)
printf("%d %d\n", max, min);
return 0;
}
void find(int a[], int n, int *pmax, int *pmin)
{
int i;
*pmax = *pmin = a[0];
for (i = 1; i < n; i++) {
@@[if (a[i] > *pmax) *pmax = a[i]; ](2)
@@[if (a[i] < *pmin) *pmin = a[i]; ](2)
}
}
```
答案:
第1空:find(a, n, &max, &min);
第2空:if (a[i] > *pmax) *pmax = a[i];
第3空:if (a[i] < *pmin) *pmin = a[i];
### 输入格式:
输入在第一行中给出一个正整数$$n$$($$1
### 输出格式:
在一行中输出最大值和最小值,中间用一个空格分开。
### 输入样例:
```
6
2 8 10 1 9 10
```
### 输出样例:
```
10 1
```
```c++
#include
#define MAXN 10
void find(int a[], int n, int *pmax, int * pmin);
int main()
{
int i, n, min, max;
int a[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
@@[find(a, n, &max, &min);](2)
printf("%d %d\n", max, min);
return 0;
}
void find(int a[], int n, int *pmax, int *pmin)
{
int i;
*pmax = *pmin = a[0];
for (i = 1; i < n; i++) {
@@[if (a[i] > *pmax) *pmax = a[i]; ](2)
@@[if (a[i] < *pmin) *pmin = a[i]; ](2)
}
}
```
答案:
第1空:find(a, n, &max, &min);
第2空:if (a[i] > *pmax) *pmax = a[i];
第3空:if (a[i] < *pmin) *pmin = a[i];