Problem1074--找最小的数1074: 找最小的数
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 35 Solved: 29
[Submit] [Status] [Web Board] [Creator:]Description
输入n个整数的数列,请找出数列中最小数所在的位置(有多个最小数,则选最左边的那个最小数),把它与数列的第一个数对调,其它数的位置不能改变,输出此数列。
Input
第一行输入n
第二行共n个数,以空格隔开。
Output
输出对调后的n个数,用空格隔开。
Sample Input
5
18 20 6 10 12
Sample Output
6 20 18 10 12
HINT
n<=10000
此题用于理解选择排序。
时间限制:1000ms
空间限制:128MByte
#include <iostream>
using namespace std;
int main()
{
int a[10001] ;
int i,min,n,loc,t;
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
min=a[0];loc=0;
for(i=1;i<n;i++)
if(a[i]<min) { min=a[i];loc=i;}
t=a[0];a[0]=a[loc];a[loc]=t;
for(i=0;i<n;i++)
cout<<a[i]<<" ";
}
Source/Category
[Submit] [Status]