题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2016
思路:找出最小值;将最小值与第一个值与第一个值互换位置—>找出最小值所在数组的坐标;
出现问题:在输入数组时,m[0]与m[1]产生了重复,后面经过调试,后面的在m[1]之后的数都满足题目要求的输入,于是便从 m[1]开始用自己的思路写过代码。
代码:
#include<stdio.h>
int main(){
int n;
while (scanf("%d",&n)!=EOF){
int a=0,t,j=0,k,b,c=0,m[99];
if(n==0) break;
while(a!=n){
scanf("%d",&m[a]);
a++;
}
t=m[0];
for (int i=1;i<n;i++){
if(t>m[i]){
t=m[i];
j=i;
}
}
k=m[0];
m[0]=m[j];
m[j]=k;
for(int i=0;i<n;i++){
printf("%d",m[i]);
if(i!=n-1) printf(" ");
else printf("\n");
}
}
}