这道题的要求是找出给出数字组中的最小数字并与最前面的数字进行交换,先得进行输入,在进行数字判断找出最小值,记录最小数字的下标,然后写一个交换程序将最前的数字和最小值进行位置交换既可。最后是将排序后的数组进行输出,这个输出要有条件判断,在没输出最后一个数字之前没输出一个数字后都是要有空格的。下面上代码:
#include<iostream>
using namespace std;
int main()
{
int i,a,a1=0,temp,n;
int m[100];
while(cin>>n&&n!=0)
{
for(i=0;i<n;i++)
{
cin>>m[i];
}
a=m[0];
a1=0; //记录数组的下标,每次都要归零
for(i=0;i<n;i++)
{
if(m[i]<a)
{
a=m[i];
a1=i;
}
}
if(a1!=0)
{
temp=m[0];
m[0]=a;
m[a1]=temp;
}
for(i=0;i<n;i++)
{
if(i<n-1)
cout<<m[i]<<" ";
else
cout<<m[i]<<endl;
}
}
return 0;
}