描述
输入一个正整数n(1<n<100),再输入n个整数,将最小数与第一个数交换(若最小数就在第一位,不需要交换),输出交换后的n个数。【输入】
第一行输入一个正整数n。
第二行输入n个整数
【输出】
输出交换后的n个整数。
输入输出示例
输入 输出
示例 1 5 1 5 2 8 3
解题思路:首先定义一个数组,然后遍历数组,在判断组内数字的大小进行判断,从中找出最小的那个数,给它赋值,并把它调到第一位,然后排序原来的数组,最后输出重新排序的数组。
#include<stdio.h>
int main(){
int a[100];//由题可知,定义数组a[100]。
int n,i,p,t;
scanf("%d", &n);
for(i=0;i<n;i++)
scanf("%d", &a[i]);//给数组依次赋值。
p = 0;
for(i=1;i<n;i++)
if(a[p]>a[i])//历遍数组并判断两数组间大小关系。
p = i;
if(p!=0){//标记,并判断p。
t = a[p];
a[p] = a[0];
a[0] = t;//重新赋值。
}
for(i=0;i<n;i++)//历遍数组,输出符合条件的数的顺序。
printf("%d ", a[i]);
printf("\n");
return 0;
}