用c语言编写数字排序函数 c语言数字排序 数组

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

#includestdio.h

创新互联公司专业为企业提供同安网站建设、同安做网站、同安网站设计、同安网站制作等企业网站建设、网页设计与制作、同安企业网站模板建站服务,10年同安做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

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语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:

#includestdio.h

int main()

{

int i,j,a[10],t;

printf("输入数");

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

scanf("%d",a[i]);

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

{

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

if (a[i] a[j]){

t = a[i];

a[i] = a[j];

a[j] = t;

}

}

printf("从大到小");

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

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

return 0;

}

扩展资料:

代码还可以设计,如下:

#includestdio.h

int main()

{

int a[10],i,j,t;//定义数组;

for(i=0;i10;i++){

scanf("%d",a[i]);//给数组赋值;

}

for(i=0;i9;i++)//10个数,进行9轮比较;

for(j=0;j10-i;j++){//第一个数比较9次,依次递减;

if(a[j]a[j+1]) {//交换值;

t=a[j];

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

a[j+1]=t;

}

}

for(i=0;i10;i++){

printf("%d\n",a[i]);//输出数组的值;

}

return 0;

}

}

printf("the sorted numbers:\n");

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

printf(" %d",a[i]);

printf("\n");

}

参考资料:百度百科-printf

C语言用函数写个代码来给数字大小序号排序

#includestdio.h

#define N 100

void paixu(int *, int *, int);//声明函数

int main()

{

int a[N],c[N];

int i,n=0;

printf("请输入n个整数:");

for(i=0;;i++)

{

scanf("%d",a[i]);

n++;

if(getchar()=='\n')

break;

}

paixu(a, c, n);//调用函数,数组只需给出数组名

return 0;

}

void paixu(int a[N],int c[N], int n)

{

int i,j,s=0;

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

{

c[i]=0;

}

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

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

{

if(a[i]==a[j])

c[i]=1;

}

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

{

s=1;

for(j=0;jn;j++)

{

if(c[j]==0a[i]a[j])

{

s++;

}

}

printf("%d ",s);

}

}


当前标题:用c语言编写数字排序函数 c语言数字排序 数组
标题链接:http://myzitong.com/article/dopohdj.html