#include<stdio.h> int main() { int n,a[20],i,max,maxindex,min,minindex; scanf("%d",&n); for(i=0;i<n;i++)//输入 scanf("%d",&a[i]); max=a[0];min=a[0];maxindex=0;minindex=0; for(i=1;i<n;i++) { if(a[i]>max)//1.找最大值 {max=a[i];maxindex=i;} if(a[i]<min)//2.找最小值 {min=a[i];minindex=i;} } a[maxindex]=min;a[minindex]=max;//交换 for(i=0;i<n;i++)//输出 printf("%d ",a[i]); }
#include <iostream> using namespace std; int main(){ int n; while(cin>>n){ int i,min=0,max=0,a[100]; for(i=0;i<n;i++) cin>>a[i]; for(i=1;i<n;i++){ if(a[max]<a[i]){ max=i; a[max]=a[i]; } if(a[min]>a[i]){ min=i; a[min]=a[i]; } } int temp=a[max]; a[max]=a[min]; a[min]=temp; for(i=0;i<n-1;i++) cout<<a[i]<<" "; cout<<a[n-1]<<endl; } return 0; }
#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { int N; while(cin>>N) { vector<int> vec(N,0); for(int i=0;i<N;i++) cin>>vec[i]; int imax=vec[0]; int imin=vec[0]; int i=0,j=0; //找到最大值、最小值 for(int k=1;k<N;k++) { if(vec[k]>imax) { imax=vec[k]; i=k; } if(vec[k]<imin) { imin=vec[k]; j=k; } } //交换 swap(vec[i],vec[j]); //输出结果 for(int k=0;k<N-1;k++) cout<<vec[k]<<" "; cout<<vec[N-1]<<endl; } return 0; }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()){ int n = scanner.nextInt(); int[] a = new int[n]; int min = Integer.MAX_VALUE; int minIndex=0; int max= Integer.MIN_VALUE; int maxIndex =0; for (int i = 0; i < n; i++) { a[i]= scanner.nextInt(); if (a[i]>max){ max =a[i]; maxIndex = i; } if (a[i]<min){ min =a[i]; minIndex = i; } } a[minIndex] = max; a[maxIndex]= min; for (int i : a) System.out.print(i+" "); System.out.println(); } } }
#include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int a[n]; int min = 99999999; int max = -99999999; int b[2]; for(int i = 0; i < n; i++) { cin >> a[i]; if(a[i] > max) { max = a[i]; b[0] = i; } if(a[i] < min) { min = a[i]; b[1] = i; } } int temp; temp = a[b[0]]; a[b[0]] = a[b[1]]; a[b[1]] = temp; for(int i = 0; i < n - 1; i++) { cout << a[i] << " "; } cout << a[n - 1] << endl; return 0; }
//首先想到是遍历,然后记录最大最小的位置和值,然后对调,输入的时候顺便就遍历了,应该蛮便捷的了 #include<iostream> using namespace std; int main(){ int n; while(cin>>n){ int* a=new int[n]; int max=-99999999,min=99999999,max_pos=0,min_pos=0; for(int i=0;i<n;i++){ cin>>a[i]; if(a[i]>max) max=a[i],max_pos=i; if(a[i]<min) min=a[i],min_pos=i; } a[min_pos]=max; a[max_pos]=min; for(int i=0;i<n-1;i++) cout<<a[i]<<" "; cout<<a[n-1]<<endl; } }
#include<iostream> using namespace std; int main(){ int n,i,k,p,max,min; while(cin>>n){ int a[n]; for(i=0;i<n;i++) cin>>a[i]; for(i=0;i<n;i++){ if(i==0) { max=a[0]; min=a[0]; p=k=0; } if(a[i]>max) { max=a[i]; k=i; } if(a[i]<min) { min=a[i]; p=i; } } int temp=a[k]; a[k]=a[p]; a[p]=temp; for(i=0;i<n-1;i++) cout<<a[i]<<" "; cout<<a[n-1]<<endl; } return 0; }
#include<stdio.h> int main (){//the shorter,the better. int n,i,t,x,y,a[20]; for(;~scanf("%d%d",&n,&a);){ for (x=y=a[0],i=1;i<n&&~scanf("%d",&a[i]);x=x<a[i]?x:a[i],y=y>a[i]?y:a[i],i++); for (i=0;i<n&&printf(i<n-1?"%d ":"%d\n",a[i]==x?y:a[i]==y?x:a[i]);i++); } }
#include <bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n) { int a[n]; int minpos,maxpos,min=INT_MAX,max=-INT_MAX; for(int i=0;i<n;i++) { cin>>a[i]; if(a[i]<min) { min=a[i]; minpos=i; } if(a[i]>max) { max=a[i]; maxpos=i; } } //交换 a[minpos]=max; a[maxpos]=min; for(int i=0;i<n-1;i++) cout<<a[i]<<" "; cout<<a[n-1]<<endl; } return 0; }
#include<stdio.h> #include<vector> using namespace std; int main(){ int N; vector<int> vec; int maxIndex=0,minIndex=0; scanf("%d",&N); for(int i=0;i<N;i++){ int tmp; scanf("%d",&tmp); vec.push_back(tmp); if(vec[maxIndex]<vec[i]) maxIndex = i; if(vec[minIndex]>vec[i]) minIndex = i; } int tmp = vec[maxIndex]; vec[maxIndex] = vec[minIndex]; vec[minIndex] = tmp; for(int i=0;i<vec.size();i++){ printf("%d ",vec[i]); } }
#include <iostream> #include <sstream> #include <string> #include <vector> using namespace std; int main() { int n; while (cin >> n) { vector<int>arr(n); for (auto& e : arr) { cin >> e; } int max = -2147483648, min = 2147483647; //最大值和最小值 int* max_elem; //指向最大数 int* min_elem; //指向最小数 for (auto& e : arr) { if (max < e) { max = e; max_elem = &e; } if (min > e) { min = e; min_elem = &e; } } //交换最大数和最小数 int temp = *max_elem; *max_elem = *min_elem; *min_elem = temp; //输出 stringstream sstream; for (const auto& e : arr) { sstream << e << " "; } string str; getline(sstream, str); if (str[str.size() - 1] == ' ') { str = str.substr(0, str.size() - 1); //去掉字符串尾部的空格 } cout << str << endl; } return 0; }
#include <iostream> #include <string> #include <algorithm> #include <vector> #include <array> using namespace std; int main() { int n; while (cin >> n) { vector<int> v(n); for (int i = 0; i < n; i++) { cin >> v[i]; } auto mi = min_element(v.begin(), v.end()); auto ma = max_element(v.begin(), v.end()); iter_swap(mi, ma); for (int i = 0; i < n; i++) { cout << v[i] << " "; } cout << endl; } }
#include <cstdio> #include <algorithm> #include <climits> using namespace std; int main(){ int n; while(scanf("%d",&n) != EOF){ int arr[n]; int maxi = -INT_MAX , mini = INT_MAX; int nmax , nmin; //最大最小值的下标 for(int i = 0; i < n; ++i){ scanf("%d",&arr[i]); if(arr[i] > maxi){ maxi = arr[i]; //1.存入 nmax = i; //2.存下标 } if(arr[i] < mini){ mini = arr[i]; nmin = i; } } swap(arr[nmax],arr[nmin]); //3.交换 for(int i = 0; i < n; ++i){//4.输出 printf("%d ",arr[i]); } printf("\n"); } return 0; }
#include <stdio.h> int main() { int n, a[20], pmax = 0, pmin = 0; scanf("%d", &n); for (int i = 0; i < n; i ++) { scanf("%d", &a[i]); } for (int i = 1; i < n; i ++) { if(a[i]>a[pmax]){ pmax = i; } if(a[i]<a[pmin]){ pmin = i; } } int temp = a[pmax]; a[pmax] = a[pmin]; a[pmin] = temp; for (int i = 0; i < n; i ++) { printf("%d ", a[i]); } return 0; }
#include<stdio.h> #include<stdlib.h> int main(){ int n; while(scanf("%d",&n)!=EOF){ int ma,mi; int max_i=0;//最大值的索引 int min_i=0;//最小值的索引 int *num=(int *)malloc(sizeof(int)*n); for(int i=0;i<n;i++){ int temp; scanf("%d",&temp); num[i]=temp; } if(num[0]>=num[1]){ max_i=0; min_i=1; ma=num[0]; mi=num[1]; } else{ max_i=1; min_i=0; ma=num[1]; mi=num[0]; } for(int k=2;k<n;k++){ if(num[k]>ma){ max_i=k; ma=num[k]; } else if(num[k]<mi){ min_i=k; mi=num[k]; } } int t=num[max_i]; num[max_i]=num[min_i]; num[min_i]=t; for(int j=0;j<n;j++) printf("%d ",num[j]); printf("\n"); } }
#include<iostream> #include<cstdio> using namespace std; const int maxn = 25; int main() { int n, num[maxn]; while(cin >> n) { int max = 0, min = 0;//最大/小数下标 for(int i = 0; i < n; ++i) { cin >> num[i]; if(num[i] > num[max]) max = i; else if(num[i] < num[min]) min = i; } swap(num[max], num[min]); for(int i = 0; i < n; ++i) cout << num[i] << " "; cout << endl; } return 0; }