1 条题解

  • 0
    @ 2023-6-11 12:16:28

    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]<<" ";
    	} 
    	
    	
    }
    

    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
    2146
    时间
    1000ms
    内存
    16MiB
    难度
    6
    标签
    递交数
    347
    已通过
    118
    上传者