题干的意思是找到整个数组中最小的数然后让他与第一个数交换位置。
#include<stdio.h>
int main() {
int a,b,c,d;
scanf("%d",&a);int e[a];
for(b=0;b<a;b++){
scanf("%d",&e[b]);//输入数据;
} d=e[0];//让d等于数组第一项;
for(b=1;b<a;b++){
if(d>e[b]){
d=e[b];c=b;
}//通过比较总而得到最小的值,并且用c来记录最小值时的下标;
}
int i=e[0];
e[0]=e[c];
e[c]=i;//让最小的数跟数组第一位交换;
for(b=0;b<a;b++){
printf("%d ",e[b]);
}printf("\n");
return 0;
}
本题的思路是定义一个数等于数组第一位,然后通过遍历来以此找到最小的那一位数,并且找到之后通过另一个变量来保留此下标。
后面通过保留的下标找到最小的数,然后让它与第一位交换位置。。。