如何用c语言编写冒泡排序法的函数,并在主函数中调用,让该函数能实现对一个具有5个元素的数组进行排序。
问题描述:
如何用c语言编写冒泡排序法的函数,并在主函数中调用,让该函数能实现对一个具有5个元素的数组进行排序。
答
#include <stdio.h>
//冒泡排序
void bubble_sort(int a[],int n)
{
int i,j,t;
for (i=0;i<n-1;i++)
{
for (j=0;j<n-1-i;j++)
{
if(a[j] > a[j+1]) //从小到大,升序
{
t = a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
int main()
{
int a[10],i;
printf("请输入10个数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
bubble_sort(a,10);
printf("排序后的数:\n");
for (i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
答
你题目的解答代码如下:
#include<stdio.h>
#include<string.h>
void sort(int a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
if(a[j] > a[j+1])
{
int t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
void main()
{
int a[5],i;
for( i=0; i<5; i++ )
scanf("%d", &a[i]);
sort(a,5);
for( i=0; i<5; i++ )
printf("%d ", a[i]);
}
如有帮助,望采纳!谢谢!