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]<<" "; } }
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
- 2077
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者