描述
先输入n表示有n个数字,再在下一行输入这n个数。找出其中最小的数,并与第一个值交换。若第一个数为最小值则不交换。
解题思路
因题目要求,首先循环输入n个数,后逐个比较找到最小值,最后与第一个数交换,输出
输入示例
输入 | 输出 |
3 3 2 1 | 1 2 3 |
代码
#include<stdio.h>
int main(){
int n,a[100],i,x=0,min;
scanf("%d\n",&n);
for (i=0;i<n;i++){//进入循环
scanf("%d",&a[i]);//循环输入这n个数
}
min=a[0];//将第一项假设为最小量,方便比较
for(i=1;i<n;i++){
if(a[i]<min){//判断之后输入的数于最开始定义的最小值的大小,小于最小值则进行替换
min=a[i];x=i;//进入循环比较并找出最小值
}
}
i=a[x];//将最小值与第一项交换
a[x]=a[0];
a[0]=i;
for(i=0;i<n;i++){
printf("%d ",a[i]);//输出最终结果
}
return 0;
}