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]