设计一个C++程序,将键盘输入的10个整数从小到大的顺序排列(冒泡法),要求排序功能用自定义函数实现。

如题所述

#include <iostream.h>
void sort(int a[],int n) //冒泡排序法
{
int temp;
for(int i=0;i<n-1;i++)
for(int j=i;j<n;j++)
{
if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}
}
}
void main()
{
int s[10];
for(int i=0;i<10;i++)//从键盘输入10个数
{
cin>>s[i];
}
sort(s,10); //调用排序函数
for(int j=0;j<10;j++)
{
cout<<s[j]<<" ";
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-29
# include <iostream.h>
# include <conio.h>

# define MAXSIZE 20
# define MAX_LENGTH 100
typedef int RedType;

typedef struct //define structure SqList
{ RedType r[MAXSIZE+1];
int length;
}SqList;

void BubbleSort(SqList &L)
{ int i,j,temp;
for(i=0;i<=L.length;++i)
for(j=L.length-2;j>i;--j)
if(L.r[j+1]<L.r[j])
{ temp=L.r[j+1];
L.r[j+1]=L.r[j];
L.r[j]=temp;
}
}

void main() //main() function
{ int i;
SqList L;
cout<<endl<<"=============="<<endl;
cout<<endl<<"请输入数据的个数:";
cin>>L.length;
L.length++; //the last is aided space
for(i=1;i<L.length;++i)
{ cout<<"请输入第"<<i<<"个数据:";
cin>>L.r[i];
}
cout<<endl<<"未排序:";
for(i=1;i<L.length;i++)
cout<<L.r[i]<<" ";
BubbleSort(L); //call BubbleSort()
cout<<endl<<"排序后:";
for(i=1;i<L.length;i++)
cout<<L.r[i]<<" ";
cout<<endl<<endl<<"...OK!...";
getch();
} //main() end
//这个程序可以输入100个以内的数据进行冒泡排序。
相似回答