2011-12-14 04:21:57
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2016
题意:中文。
mark:wa了2次,a^=b^=a^=b这种交换只能用在a和b不同的时候,否则清零。没考虑第一个元素就是最小值的情况。
代码:
# include <stdio.h>
int a[110] ;
int main ()
{
int i, n, pos ;
while (~scanf ("%d", &n) && n)
{
for (i = 0 ; i < n ;i++)
scanf ("%d", a+i) ;
for (i = 1, pos = 0 ; i < n ; i++)
if (a[i]<a[pos]) pos = i ;
if (pos != 0)
a[0] ^= a[pos] ^= a[0] ^= a[pos] ;
for (i = 0 ; i < n ;i ++)
{
if (i == 0) printf ("%d", a[i]) ;
else printf (" %d", a[i]) ;
}
puts ("") ;
}
return 0 ;
}