1 条题解

  • 0
    @ 2025-10-10 15:45:57

    C :

    #include<stdio.h>
    
    void main(){
    	int a[96];
    	int n,i,t,p,max=0,min=0;
    	scanf("%d",&n);
    	
    	for(i=0;i<n;i++){
    		scanf("%d",&a[i]);
    	}
    	
    	for(i=1;i<n;i++){
    		if(a[i]<a[min]){
    			min=i;
    		}
    	}
    	t=a[min];
    	a[min]=a[0];
    	a[0]=t;
    	
    	for(i=1;i<n;i++){
    		if(a[i]>a[max]){
    			max=i;
    		}
    	}
    	p=a[max];
    	a[max]=a[n-1];
    	a[n-1]=p;
    	
    	for(i=0;i<n;i++){
    		printf("%d ",a[i]);
    	}
    }
    

    C++ :

    #include <iostream>
    using namespace std;
    
    int main(){
    	int i,n,x,y;
    	int a[11];
    	cin>>n;
    	//读入数组元素
    	for(i = 0;i < n;i++){
    		cin>>a[i];
    	} 
    	
    	int max = 0;
    	int min = 0;
    	for(i = 1;i < n;i++){
    		if(a[i] < a[min]){
    			min = i;
    		}
    		
    		if(a[i] > a[max]){
    			max = i;
    		}
    	}
    	
    	int t;
    	if(min != 0){
    		t = a[min];
    		a[min] = a[0];
    		a[0] = t;
    	} 
    	
    	if(max != n - 1){
    		t = a[max];
    		a[max] = a[n - 1];
    		a[n - 1] = t;
    	} 
    	
    	for(i = 0;i < n;i++){
    		cout<<a[i]<<" ";
    	} 
    	
    	
    }
    

    Pascal :

    program liumohan;
    var i,n,t,m,x:longint; a:array[0..100] of longint;
    begin
    readln(n);
    t:=99999;
      for i:=1 to n do read(a[i]);
      for i:=1 to n do
      if t>a[i] then
      begin
      t:=a[i];
      x:=i;
      end;
      
      m:=a[1];
      a[1]:=t;
      a[x]:=m;
      
      
      
      for i:=1 to n do
      if t<a[i] then
      begin
      t:=a[i];
      x:=i;
      end;
      
      m:=a[n];
      a[n]:=t;
      a[x]:=m;
      
      for i:=1 to n do
      write(a[i],' ');
      end.
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    	public static void main(String args[]){
    		Scanner sc = new Scanner(System.in);
    		int n=sc.nextInt();
    		int[] a=new int[n];
    		for(int i=0;i<n;i++){
    			a[i]=sc.nextInt();
    		}
    		int maxnum=a[0],minnum=a[0],maxpo=0,minpo=0;
    		for(int i=0;i<n;i++){
    			if(a[i]>maxnum){
    				maxnum=a[i];
    				maxpo=i;
    			}
    		}
    		for(int i=0;i<n;i++){
    			if(a[i]<minnum){
    				minnum=a[i];
    				minpo=i;
    			}
    		}
    		a[minpo]=a[0];
    		a[0]=minnum;
    		a[maxpo]=a[n-1];
    		a[n-1]=maxnum;
    		for(int i=0;i<n;i++){
    			System.out.print(a[i]+" ");
    		}
    		
    	}
    	
    }
    
    

    Python :

    n = int(input())
    s = input().split()
    l = []
    for v in s:
        l.append(int(v))
    ma = max(l)
    mi = min(l)
    # 遍历l列表,找出最大值和最小值的位置
    for i in range(0, n):
        # 如果l[i]==ma(最大值),则与最后一个数l[n-1]交换位置
        if l[i] == ma:
            l[n - 1], l[i] = ma, l[n - 1]
        # 如果l[i]==ma(最小值),则与第一个数l[0]交换位置
        if l[i] == mi:
            l[0], l[i] = mi, l[0]
    for i in range(0, n):
        print(l[i], end=' ')
    
    • 1

    信息

    ID
    207
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    4
    已通过
    1
    上传者