题目描述
输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数,若最小的数有多个只交换最前面的那个。
输入要求
先输入一个整数n,表示这个测试实例的数值的个数,跟着就是输入n个整数。
输出要求
输出交换后的数列。
输入样例
5 5 4 3 2 1
输出样例
1 4 3 2 5
答案
#include<stdio.h>
int main(){
int n,min,min1=0,i;
int a[100];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
min=a[0];
for(i=0;i<n;i++){
if(min>a[i]){
min=a[i]; min1=i;
}
}
printf("%d",a[min1]);//输出最小值
for(i=1;i<n;i++){
if(min1==i){
printf(" %d",a[0]);
}
else{
printf(" %d",a[i]);
}
}
printf("\n");
return 0;
}
知识点
嵌套循环,数组
⭐注意
先赋值一个最小值,再从数组里找到最小的,并赋值
第二个循环为输出数列,并将最小值赋值为最前面的数的过程
!不要忘记空格