输入一个正整数n(1 < n < 100),再输入n个整数,将最小数与第一个数交换(若最小数就在第一位,不需要交换),输出交换后的n个数。
输入:
第一行输入n表示n个数;
第二行输入n个数;
输出:
输出交换后的n个整数
输入样例:
5
3 5 2 8 1
输出样例:
1 5 2 8 3
解题思路:1.输入n,先利用循环将n个数字存入数组,
2.再用循环遍历数组找出最小值并存起来,
3.最后再利用循环进行交换后,
4.将数组中排好的数挨个输出
#include<stdio.h>
int main(){
int a[100];
int n,i,p=0,t;//定义数组及变量
scanf("%d", &n);
for(i=0;i<n;i++)
scanf("%d", &a[i]);//将n个整数存入数组中
for(i=1;i<n;i++)//利用循环来交换位置
if(a[p]>a[i])//判断条件
p = i;
if(p!=0){
t = a[p];
a[p] = a[0];
a[0] = t;//若满足条件交换位置
}
for(i=0;i<n;i++)
printf("%d ", a[i]);//依次输出交换位置后的数
printf("\n");//输出最后一个数后换行
return 0;
}