1、输入n个整数,将其中最小的数与第1个数对换,把最大的数与最后一个数对换,
【问题描述】输入n个整数,将其中最小的数与第1个数对换,把最大的数与最后一个数对换,写3个函数(1)输入10个整数。(2)进行对换处理。(3)输出10个整数。要求:上面的函数均需要使用数组指针作为参数。
【输入形式】
十个整数
【输出形式】
交换操作后的十个整数
【样例输入】
2 3 4 5 1 6 7 8 10 9
【样例输出】
1 3 4 5 2 6 7 8 9 10
【代码】
#include <iostream>
using namespace std;
void input(int *p){int *p1=p;while(p1-p<10)scanf("%d",p1++);
}
void swap(int *p){int *min=p,*max=p,temp,*p1=p;while(p1-p<10){if(*min>*p1)min=p1;if(*max<*p1)max=p1;p1++;}p1--;if(min-p==9 && max-p==0){temp=*min,*min=*max,*max=temp;}else{temp=*max,*max=*p1,*p1=temp;temp=*min,*min=*p,*p=temp;}}
void show(int *p){int *p1=p;while(p1-p<10)printf("%d ",*(p1++));
}
int main(){int a[10];input(a);swap(a);show(a);return 0;
}