1 条题解

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

    C :

    #include<stdio.h> 
    
    int main(){ 
    	int n,a[101],i,j,temp,min,k;
    	
    	scanf("%d",&n);
    	
    	for(i = 0;i < n;i++){
    		scanf("%d",&a[i]);
    	}
    
    	//找到最小的值 
    	min = a[1];  //假设第二个元素为最小元素 
    	for(j = 2;j < n;j++){
    		if(a[j] < min) min = a[j];	  
    	} 
    	//因为是从左边开始循序,所有如果发现与最小值相等的元素,就停下,当前的下标就是交换的下标 
    	for(j = 1;j < n;j++){
    		if(a[j] == min){ 
    			k = j;//最小值最早出现的下标 
    			break; 
    		} 	
    	} 
    	
    	
    	if(a[0] >= a[k]){ 
    		temp = a[0];
    		a[0] = a[k];
    		a[k] = temp; 
    	}else{
    		k = 0; 
    	} 
    	
    	printf("%d\n",k+1) ;
    	
    	for(i = 0;i<n;i++){
    		printf("%d ",a[i]); 
    	} 
    
    	
    	return 0; 
    	  
    } 
    
    

    C++ :

    #include <iostream>
    #include <iomanip>
    #include <cmath>
    
    using namespace std;
    
    int main(){
    	int a[100],n,s=0,m=1000000000,x,i;
    	cin>>n;
    	for(int i=0;i<n;i++){
    		cin>>a[i];
    		if(a[i]<m){
    			m=a[i];
    		}
    	}
    	for(i=0;i<n;i++){
    		if(m==a[i]){
    			cout<<i+1<<endl;
    			break;
    		}
    	}
    	x=a[0];
    	a[0]=a[i];
    	a[i]=x;
    	for(i=0;i<n;i++){
    		cout<<a[i]<<" ";
    	}
    	
    }
    

    Pascal :

    program liumohan;
    var j,n,t,i:longint; a:array[0..200] of longint;
    begin
    readln(n);
    t:=1;
    for i:=1 to n do read(a[i]);
    for i:=1 to n do
    if a[t]>a[i] then
    t:=i;
    
    j:=a[1];
    a[1]:=a[t];
    a[t]:=j;
    
    writeln(t);
    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 in = new Scanner(System.in);
    		int x = in.nextInt();
    		int[] a = new int[x];
    		for(int i=0;i<a.length;i++){
    			int y = in.nextInt();
    			a[i]=y;
    			//System.out.print(a[i]+" ");
    		}
    		//System.out.println();
    		int min=a[0];
    		int b=0;
    		for(int i=0;i<a.length;i++){
    			if(a[i]<min){
    				min=a[i];
    				b=i+1;
    			}
    		}
    		System.out.println(b);
    		for(int i=0;i<a.length;i++){
    			if(a[i]==min){
    				a[i]=a[0];
    				a[0]=min;
    				for(int j =0;j<a.length;j++){
    					System.out.print(a[j]+" ");
    				}
    			}		
    		}
    	}
    }
    

    Python :

    n=int(input())
    l1=list(map(int,input().split()))
    m=min(l1) #最小值
    i=l1.index(m) #最小值下标
    t=l1[0]     #最小值下标与0对调
    l1[0]=l1[i]
    l1[i]=t
    print(i + 1)
    for i in l1:
        print(i,end=' ')
    
    • 1

    信息

    ID
    152
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    4
    已通过
    3
    上传者