C/C++语言——解题
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;
}