用起泡法对10个数排序(由小到大和由大到小)

 

由小到大

#include <iostream>
using namespace std;
int main()
{
	int a[11];
	int i,j,t;
	cout<<"input 10 numbers:"<<endl;
	for(i=1;i<11;i++)
		cin>>a[i];//输入a1到a10
	cout<<endl;
	for(j=1;j<=9;j++)//10个数进行9轮比较
		for(i=1;i<=10-j;i++)//每轮中都要进行(10-j)次两两比较
			if(a[i]>a[i+1])//交换两个数的位置,使大数下沉,小数上浮
			{
				t=a[i];
				a[i]=a[i+1];
				a[i+1]=t;
			}//两数交换
			cout<<"the sorted numbers:"<<endl;
			for(i=1;i<11;i++)
				cout<<a[i]<<" ";//输出十个数
			cout<<endl;
			return 0;
}


有大到小

#include <iostream>
using namespace std;
int main()
{
	int a[11];
	int i,j,t;
	cout<<"input 10 numbers:"<<endl;
	for(i=1;i<11;i++)
		cin>>a[i];//输入a1到a10
	cout<<endl;
	for(j=1;j<=9;j++)//10个数进行9轮比较
		for(i=1;i<=10-j;i++)//每轮中都要进行(10-j)次两两比较
			if(a[i]<a[i+1])//交换两个数的位置,使小数下沉,大数上浮
			{
				t=a[i+1];
				a[i+1]=a[i];
				a[i]=t;
			}//两数交换
			cout<<"the sorted numbers:"<<endl;
			for(i=1;i<11;i++)
				cout<<a[i]<<" ";//输出十个数
			cout<<endl;
			return 0;
}


 



posted @ 2012-12-02 20:11  同学少年  阅读(3964)  评论(0编辑  收藏  举报