首先定义临时表量min,k,min为最小值,k为下标。以下图为例,让1和26交换,需要找到最小元素在哪里,所以先假设a[0]为最小值min,即a[0]=min,k=0,将其余后续每个元素进行比较,假如a[i]<min,然后将其值与a[0]交换,a[i]的值赋给a[k],依次进行循环,进行逐个比较。
int main(){
int a[10],k,min,i;//k为最小元素下标
for(i=0;i<10;i++ ){
scanf("%d",&a[i]);}
for(i=1;i<10;i++){
min=a[0];
if(a[i]<min){
min=a[i];
k=i;
a[k]=a[0];
a[0]=min;
}
}
for(i=0;i<10;i++){
printf("%4d",a[i]);
}
printf("下标为%d 最小值为:%d",k,min);
return 0;
}