c语言函数对整数排序 c语言用函数对数组排序

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;

}

}

C语言编程:用指向指针的指针的方法对n个整数排序并输出。

用指向指针的指针的方法对n个整数排序并输出的具体编程步骤如下:

1、编写头函数:#include stdio.h。

2、编写条件函数:

void sort(int **p,int n)

{

int i,j,temp;

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

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

{

if(*p[j]*p[j+1])//或者是*(*(p+j))*(*(p+j+1))

{

temp=*p[j];

*p[j]=*p[j+1];

*p[j+1]=temp;

}

}

}

3、最后编写主函数:

int main()

{

void sort(int **,int );

int i,n,data[20],**p,*pstr[20];

scanf("%d",n);

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

pstr[i]=data[i];

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

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

p=pstr;

sort(p,n);

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

printf("%d ",*pstr[i]);

return 0;

}

整数排序 C语言

排序有以下几种:

冒泡法。

选择法。

快速法。

插入法。

shell法。

以下是冒泡法和选择法的例子:

#include"stdio.h"

#define N 10

void sort(int a[],int method)

{

int i,k,t,j;

switch(method)

{

case 1:

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

{

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

{

 if(a[j]a[i]) 

 {

t=a[i];

a[i]=a[j];

a[j]=t;

 }

}

}

break;

case 2:

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

{

k=i;

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

if(a[j]a[k])  

k=j;

t=a[k];

a[k]=a[i];

a[i]=t;

}

break;

default: break;

}

}

void main()

{

int a[N]={16,5,8,12,1,17,3,6,10,2};

int i,method;

printf("排序前: \n");

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

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

printf("请选择: 1表示冒泡法,2表示选择法: \n");

scanf("%d",method);

sort(a,method);

printf("排序后: \n");

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

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

}

C语言:写一个函数,可对任意个整数进行起泡排序(升序,降序可选)。

排序没有问题,但是你在打印的时候出错了

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

printf("%d",a[i]);    #47;#47;这里打印的是数组元素a[i]的地址,应改为printf("%d" , a[i]);

printf("#92;n");

满意请采纳!!!


分享文章:c语言函数对整数排序 c语言用函数对数组排序
文章地址:http://cdiso.cn/article/doshdho.html

其他资讯