个人答案:
#include <iostream>
using namespace std;
void input(int* n, int m);
void change(int* n, int m);
void print(int* n, int m);
int main()
{
int a[10];
input(a, 10);
change(a, 10);
print(a, 10);//三个函数,10个数
system("pause");
return 0;
}
//input用于存放数值原式
void input(int* n, int m)
{
int* p;
for (p = n, cout << "Please enter " << m << " numbers: "; p < n + m; cin >> *p++);
}
//print输出重新排列后的
void print(int* n, int m)
{
int* p;
for (p = n, cout << "New line: "; p < n + m; cout << *p++ << ' ');
cout << endl;
}
//change交换式
void change(int* n, int m)
{
int* p, * max, * min, t;
for (p = n, min = n; p < n + m; p++)//做最小数比较
if (*p < *min) min = p;
t = *n, * n = *min, * min = t;//调整
for (p = n, max = n + m - 1; p < n + m; p++)
if (*p > *max) max = p;
t = *(n + m - 1), * (n + m - 1) = *max, * max = t;//调整
}
结果: