1 条题解
-
0
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
- 上传者