为什么输出结果会少一个?
# include<iostream>
# include <cstdlib>
# include <ctime>
# include <iomanip>
using namespace std;
void order (int [],int);
void main ()
{
int a[10],i;
srand(int (time(0)));
for (i=0;i<10;i++)
{
a[i]=rand()%100;
cout<<setw(4)<<a[i];
cout<<endl;
}
order (a,10);
}
void order (int a[],int n)
{
int i,j,temp;
for (j=1;j<n;j++)
{
for (i=0;i<n-j;i++)
if (a[i]>a[i+1])
{
temp=a[i+1];
a[i+1]=a[i];
a[i]=temp;
}
cout<<setw(4)<<a[i];
}
}
[解决办法]
你的N=10,for(j=1;j<10;j++) 当然是循环9次 输出9个数据啦。
你把输出语句 另外放在一个循环里面写吧 就可以了~
[解决办法]
求结个贴给个分 3Q。。。
[解决办法]
//n = 10for (j=1;j<n;j++){ cout<<setw(4)<<a[i]; //a[1], a[2], ... a[9] }
[解决办法]
数组下表是从0~LEN-1的LEN是数组的长度。