题目描述
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求用3个函数实现,分别为输入10个数、进行处理、输出10个数。要求使用指针的方法进行处理。
实现
#include<cstdio>
void input(int a[]){
for(int i=0;i<10;i++){
scanf("%d",a+i);
}
}
void swap_fuc(int a[]){
int max_num=*a,min_num=*a,n1=0,n2=0,temp;
for(int i=1;i<10;i++){
if(*(a+i)>=max_num){
max_num=*(a+i);
n1=i;
}
if(*(a+i)<=min_num){
min_num=*(a+i);
n2=i;
}
}
temp=*a;
*a=min_num;
*(a+n2)=temp;
temp=*(a+9);
*(a+9)=max_num;
*(a+n1)=temp;
}
void output(int a[]){
for(int i=0;i<10;i++){
printf("%d ",*(a+i));
}
printf("\n");
}
int main(){
int a[10];
input(a);
swap_fuc(a);
output(a);
return 0;
}