//输入10个整数,将其中最小的数与第1个数对换,最大的数与最后一个数对换(3个函数)
#include<iostream>
using namespace std;
int main()
{
void input0(int a[]);
void swap0(int a[], int* x, int* y);
void Print(int a[]);
int arr[10];
int* p;
p = arr;//指向arr首地址
input0(p);//输入数组元素
int a = arr[0]; int b = arr[9];
int* min; int* max;
min = &a; max = &b;//直接将第一个和最后一个做为最大,在函数中进去交换
swap0(p, min, max);
cout <<"min=" <<a<<"max=" << b<<endl;
Print(p);//将arr传入函数
return 0;
}
void input0(int a[])
{
int* p = a;
for (int i = 0; i < 10; i++)
{
cin >> *(p + i);//指针输入数组
}
}
void swap0(int a[], int* x, int* y)
{
int t;
for (int i = 0; i < 10; i++)
{
if (a[i] < a[0])
{
t = a[i]; a[i] = a[0]; a[0] = t;
}
if (a[i] > a[9])
{
t = a[i]; a[i] = a[9]; a[9] = t;
}
}
*x = a[0]; *y = a[9];
}
void Print(int a[])
{
int* p = a;
for (p = a; p < (a + 10); p++)//利用指针进行输出
{
cout << *p << " ";
}
}