对n个数排序c语言函数 用函数对n个数排序
c语言 编写实现选择法对n个整数按升序排列的函数
#includestdio.h
在康平等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都网站建设 网站设计制作按需定制设计,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,成都外贸网站建设,康平网站建设费用合理。
int main()
{ void sort(int array[],int n);
int a[100],n,i;
scanf("%d",n);
for(i=0; in; i++)
scanf("%d",a[i]);
sort(a,n);
printf("the sorted array:\n");
for(i=0; in; i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}
void sort(int a[],int n)
{ int i,j,k,t;
for(i=0; in-1; i++)
{ k=i;
for(j=i+1; jn; j++)
if(a[j]a[k])
k=j;
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
编写一个对n个数进行排序(由小到大)的函数,在main()函数中输入n个数,然后调用该函数对这n个数进行排序
自定义函数sort(int *p, int n),功能是对n个数排序。
在main函数中,调用它,对输入的任意个数排序。
#includestdio.h
int sort(int*p,int n)
{
int i,j,t;
for(i=0;in-1;i++)
for(j=i+1;jn;j++)
if(p[i]p[j])
{
t=p[i];
p[i]=p[j];
p[j]=t;
}
}
int main()
{
int i,n;
int a[100];
while(scanf("%d",n)!=EOF)
{
for(i=0;in;i++)
{
scanf("%d",a[i]);
}
sort(a,n);
for(i=0;in-1;i++)
{
printf("%d ",a[i]);
}
printf("%d\n",a[i]);
}
return 0;
}
扩展资料:
冒泡排序算法的原理:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
算法稳定性:
冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。
所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。
C语言对N个数进行排序
!!!!!!!!
!!!!!!!!
!!!!!!!!
注:c语言中可以将数组长度定义为变量,只是这种方法在vs中编译不能通过,但在更为标准的dev中以及gcc中完全可以编译通过!
一定要给分啊!自己写的!
#include"stdio.h"
#include"conio.h"
int
main()
{
int
length;
printf("请输入要排序的数字个数:\n");
scanf("%d",length);
int
data[length],i;
void
mbquicksort(int
*imput,int
start,int
end);
printf("请依次输入这些数字,以空格分隔:\n");
for(i=0;i
=x))++start;
imput=imput;
}
imput=x;
mbquicksort(imput,start,start-1);
mbquicksort(imput,start+1,end);
}
}
当前文章:对n个数排序c语言函数 用函数对n个数排序
地址分享:http://ybzwz.com/article/ddoedoj.html