1054: 数组重新整理
Description
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
Input
10个整数
Output
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
#include <iostream>
using namespace std;
void Input(int a[], int n);
void Sort(int a[], int n);
void Output(int a[], int n);
void input(int arr[]){
for(int i=0;i<10;i++){
cin>>arr[i];
}
}
void solve(int arr[]){
int max,min,index1,index2;
min=arr[0];
max=arr[9];
index2=0;
index1=9;
for(int i=0;i<10;i++){
if(arr[i]>max){
max=arr[i];
index1=i;
}
if(arr[i]<min){
min=arr[i];
index2=i;
}
}
int t;
t=arr[index1];
arr[index1]=arr[9];
arr[9]=t;
if(index2==9){ //这里一定要注意,如果等于9的话不判断就把最大值换到前面去了。
t=arr[index1];
arr[index1]=arr[0];
arr[0]=t;
}else{
t=arr[index2];
arr[index2]=arr[0];
arr[0]=t;
}
}
void output(int arr[]){
for(int i=0;i<10;i++){
cout<<arr[i]<<" ";
}
}
int main(){
int arr[10];
input(arr);
solve(arr);
output(arr);
return 0;
}