//C语言示例代码如下
我们提供的服务有:成都做网站、成都网站建设、微信公众号开发、网站优化、网站认证、汉源ssl等。为上千多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的汉源网站制作公司
#include stdio.h
#define N 10
//冒泡排序(升序)
void bubble_sort(int a[],int n)
{
int i,j; //j表示趟数,i表示第j趟两两比较的次数
int tmp; //临时变量
for(i=0;in-1;i++)
for(j=0;jn-1-i;j++)
{
if(a[j] a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
//选择排序算法,按从小到大顺序
void select_sort(int *array,int n)
{
int i,j,k;
int tmp;
for(i=0;in-1;i++)
{
k=i; //开始一趟选择排序,假定第i个元素是后面n-i+1个未排序的元素中最小的元素
for(j=i+1;jn;j++)
{
if(array[k] array[j]) //如果发现比当前最小元素还小的元素,则更新记录最小元素的下标k
k=j;
}
//如果最小元素的下标不是后面n-i+1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置
if(k != i)
{
tmp=array[k];
array[k]=array[i];
array[i]=tmp;
}
}
}
int main()
{
int arr[N];
int i;
printf("输入数组元素: ");
for(i=0;iN;i++)
scanf("%d",arr[i]);
bubble_sort(arr,N); //调用冒泡排序函数
printf("输出排序后的数组元素: ");
for(i=0;iN;i++)
printf("%d ",arr[i]);
printf("\n输入数组元素: ");
for(i=0;iN;i++)
scanf("%d",arr[i]);
select_sort(arr,N); //调用选择排序函数
printf("输出排序后的数组元素: ");
for(i=0;iN;i++)
printf("%d ",arr[i]);
printf("\n");
return 0;
}
#includestdio.h
int fun(int *a,int n);
int main(void)
{ int a[30],n,i;
printf("n=");
scanf("%d",n); /*输入参与排序的数字的个数n*/
for(i=0;in;i++)
{ printf("a[%d]=",i);
scanf("%d",a[i]); /*依次输入这n个数*/
}
fun(a,n); /*调用自定义函数进行冒泡排序*/
for(i=0;in;i++) /*输出排序后的结果*/
printf("%d ",a[i]);
printf("\n");
}
int fun(int *a,int n)
{ int i,j,t;
for(i=0;in-1;i++) /*冒泡排序*/
for(j=0;jn-1;j++)
if(a[j]a[j+1]) { t=a[j];a[j]=a[j+1];a[j+1]=t; }
/*如果后面的数小于前面的数,则将他俩交换次序*/
}
#includevoid sort(int a[],int n){ int i; int j; for(i=1;ia[j+1]) //从小到达,前面的比后面的大,则互换。 { int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } }}int main(){int a[10]={1,3,5,7,9,2,4,6,8,10};sort(a,10);int i;for(i=0;i10;i++){printf("%d ",a[i]);}getchar();return 0;}C语言编程——冒泡排序法。要求:由主函数调用排序子函数,对n个整数进行从小到大的排序,谢了
从小到大排序
void paixu(double a[],int N)
{
double temp;
int i,j;
for(i=0;iN;i++)
{
for(j=i+1;jN-i;j++)
{
if(a[i]a[j])
{temp=a[i];a[i]=a[j];a[j]=temp;}
}
}
}
把楼上的改改,减少浪费,欢迎拍砖