1132: 【入门】最小数
内存限制:16 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:38
解决:24
题目描述
输入n个整数的数列,请找出数列中最小数所在的位置(若有多个最小数,则选最左边的那个最小数),把它与数列的第一个数对调,其他数的位置不动,输出此数列。
输入
数组数的个数n (N<=200) 一行n个数,用空格分开(都<=32767)
输出
第一行:最小数所在的位置(只需要输出最左边的一个的位置) 第二行:交换后的数组(一个空格隔开)
样例输入 复制
3
2 6 1
样例输出 复制
3
1 6 2
提示
n=int(input()) ls=list(map(int,input().split())) m=min(ls) i=ls.index(m) ls[i],ls[0]=ls[0],ls[i] print(i+1) print(' '.join(map(str,ls)))
#include<bits/stdc++.h> using namespace std; int main(){ int a[210],n,s=0,m=INT_MAX,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]<<" "; }