冒泡排序的值的输出的一些问题
#include<iostream>
using namespace std;
int main()
{
int a[10],i;
cout<<"plesae input 10 numbers:"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
int j,s;
for(i=0;i<9;i++) //冒泡排序过程
for(j=0;j<9-i;j++)
{
if(a[i]>a[i+1])
s=a[i];
a[i]=a[i+1];
a[i+1]=s;
}
cout<<"the result is:"<<endl;
if(a[0]=a[1]) //假如第一个数和第二个数相等
{
cout<<a[1]; //输出第二个数
for(i=2;i<10;i++) //输出剩下的数
{
if(a[i]!=a[i-1]) //重复的数不输出
cout<<" "<<a[i];
}
goto o; //程序跳至结束部分
}
else
{
cout<<a[0]<<" "<<a[1]; //假如第一个数和第二个数不相等,输出第一个数和第二个数。不存在1,2,1类似的情况,因为已经冒泡排序
for(i=2;i<10;i++)
{
if(a[i]!=a[i-1])
cout<<" "<<a[i];
}
}
o: cout<<endl;
system("pause");
return 0;
}
这段代码是冒泡排序,输出数据的时候重复的数只输出一次。请教大家。谢谢!