189 8069 5689

c语言中将数字排序的函数 c语音数字排序

C语言:对输入的十个数进行从小到大排序

1、首先打开编辑软件,新建一个c程序空文件,引入标准库和主函数,定义一个QuickSort函数用来排序,下面首先编写排序函数的:

创新互联主要从事成都网站制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务错那,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

2、此处用到快速排序思想,通过一趟排序将要排序的数据分割成独立的两部分,即这里用i和j两个变量分割数据,然后一部分的所有数据都比另外一部分的所有数据都要小,接着对这两部分数据分别进行比较排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列:

3、接着编写主函数,主函数中定义一个数组,然后用scanf接受数组,用户输入10个数以后,会将数存在数组array中,然后调用上面处理排序的函数,函数的输入就是刚才输入的数,最后在把排序的结果输出即可:

4、最后编译运行,输入10个数,最后控制台输出了排序的结果,证明程序的逻辑是没有问题的。以上就是C语言输入10个数排序的演示:

C语言数字排序

输入scanf是用的变量地址

x

y

z

输出时,是用的变量x,

y,

z

所以sort3要改变这3个变量地址(指针)指向的值

#include

stdio.h

void

sort3(double

*x,

double

*y,

double

*z);

int

main(int

argc,

char

*argv[]){

double

x,y,z;

if(scanf("%lf

%lf

%lf",x,y,z)==3){

sort3(x,y,z);

printf("%lf\n%lf\n%lf\n",x,y,z);

}else{

fprintf(stderr,"Error:

Incorrect

format\n");

}

return

0;

}

void

sort3(double

*x,

double

*y,

double

*z){

double

a

=

*x,

b

=

*y,

c

=

*z;

printf("a:%f

b:%f

c:%f\n",a,

b,

c);//testing

if(*x

*y)

{

a

=

*y;

b

=

*x;

}

if(c

a)

{

*x

=

c;

*y

=

a;

*z

=

b;

}

else

if(c

b)

{

*x

=

a;

*y

=

c;

*z

=

b;

}

else

{

*x

=

a;

*y

=

b;

*z

=

c;

}

printf("sorted

numbers:\n");//testing

printf("%f

%f

%f\n",*x,

*y,

*z);//testing

}

C语言:输入5个数,用调用函数的方法,从小到大排序 用简单点的

#includestdio.h

void sort(float *a, int n)

{

int i,j,tmp;

for(i=0; in-1; i++)

for(j=0; jn-i-1; j++)

if(a[j]a[j+1])

{

tmp = a[j];

a[j] = a[j+1];

a[j+1] = tmp;

}

}

void main()

{

float a[5];

int i;

printf("请输入五个数(逗号隔开):");

scanf("%f,%f,%f,%f,%f",a[0],a[1],a[2],a[3],a[4]);

sort(a,5);

printf("排序后为:");

for(i=0; i5; i++)

printf("%.2f ",a[i]);

printf("\n");

}

或者三个数的。

void sort(int *a, int *b, int *c)

{

int tmp;

if(*a*b){

tmp = *b;

*b = *a;

*a = tmp;

}

if(*a*c){

tmp = *c;

*c = *a;

*a = tmp;

}

if(*b*c){

tmp = *c;

*c = *b;

*b = tmp;

}

return;

}

扩展资料:

C语言中没有预置的sort函数。如果在C语言中,遇到有调用sort函数,就是自定义的一个函数,功能一般用于排序。

一、可以编写自己的sort函数。

如下函数为将整型数组从小到大排序。void sort(int *a, int l)//a为数组地址,l为数组长度。

{  

int i, j;  

int v;    //排序主体

for(i = 0; i l - 1; i ++)      

for(j = i+1; j l; j ++)

 

{          

if(a[i] a[j])//如前面的比后面的大,则交换。

     

{

         

v = a[i];

         

a[i] = a[j];

         

a[j] = v;

     

}

 

}

}

对于这样的自定义sort函数,可以按照定义的规范来调用。

二、C语言有自有的qsort函数。

功 能: 使用快速排序例程进行排序。头文件:stdlib.h

原型:

void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));

参数:

1、待排序数组首地址。

2、数组中待排序元素数量。

3、各元素的占用空间大小4 指向函数的指针,用于确定排序的顺序,这个函数必须要自己写比较函数,即使要排序的元素是int,float一类的C语言基础类型。


本文名称:c语言中将数字排序的函数 c语音数字排序
本文路径:http://jkwzsj.com/article/doeoois.html

其他资讯