Problem O: 最小数与数列第一个数交换
Description
输入一个正整数n(1 < n < 100),再输入n个整数,将最小数与第一个数交换(若最小数就在第一位,不需要交换),输出交换后的n个数。
Input
先输入一个正整数n,再输入n个整数
Output
输出交换后的n个数
Sample Input
5 3 5 2 8 1
9 88 33 55 99 44 66 77 22 11
Sample Output
1 5 2 8 3
11 33 55 99 44 66 77 22 88
#include<stdio.h>
int main(){
int n,i,k,j,a[100],min,m;
while(scanf("%d",&n)!=EOF&&n>1&&n<100){
for(i=0;i<n;i++)
scanf("%d",&a[i]);
min=a[0];m=0;
for(i=0;i<n;i++){
if(min>a[i]){
min=a[i];
m=i;
}
}
k=min;
a[m]=a[0];
a[0]=k;
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
return 0;
}
总结
1、注意变量的初始化和初始化位置
2、注意输出格式。