一下问题在DEVc++中编译
希望将数组中的数从小到大排列
#include
#include
using namespace std;
int main()
{
int a[10]= {2,1,4,5,6,7,8,9,0,-3},n;
n = 10;
int s,t,min = a[0];
for (int j = 0;j<10;j++)
{
min = a[j];
for (int i=j;i<10;i++)
{
if (a[i]for (int i = 0;i<10;i++)
{
cout<<setw(4)<<setiosflags(ios::right)<return 0;
}
运行后结果如下
-3 1 4 5 6 7 8 9 0 2
-3 0 4 5 6 7 8 9 1 2
-3 0 1 5 6 7 8 9 4 2
-3 0 1 2 6 7 8 9 4 5
-3 0 1 2 4 7 8 9 6 5
-3 0 1 2 4 5 8 9 6 7
-3 0 1 2 4 5 6 9 8 7
-3 0 1 2 4 5 6 7 8 9
-3 0 1 2 4 5 6 7 9 8
-3 0 1 2 4 5 6 7 9 8
求解最后两次循环为什么没能将最后两位数按从小到大排列
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a[10]= {2,1,4,5,6,7,8,9,0,-3},n;
n = 10;
int s,t,min = a[0];
for (int j = 0;j<10;j++)
{
min = a[j];
s=j;
for (int i=j+1;i<10;i++)
{
if (a[i]<min)
{
min=a[i];
s=i;
}
}
t = a[j];
a[j] = a[s];
a[s] = t;
for (int i = 0;i<10;i++)
{
cout<<setw(4)<<setiosflags(ios::right)<<a[i];
}
cout<<endl;
}
return 0;
}