c语言数组数字排序函数 c语言数组顺序排列

C语言,输入一组数进行排序,由大到小排列,用自定义函数实现给你一个直接插入排序
#include "stdio.h"
voidInsertSort(int a[], int left, int right) {//对数组a从下标为left到right区域进行直接插入排序
int i, j, tmp;
for(i = left1; i = right; i) {
for(j = i - 1, tmp = a[i];j = lefttmpa[j]; j)
a[j1] = a[j];
a[j1] = tmp;
}
}
voidmain( ) {
inti, n, a[100];
scanf("%d", n);
for(i = 0; in; i)
scanf("%d", a[i]);
InsertSort(a, 0, n - 1);
printf("\n");
for(i = 0; in; i)printf("%d\t", a[i]);
}
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);//调用函数c语言数组数字排序函数 , 数组只需给出数组名
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语言)#include stdio.h
#include stdlib.h
#include time.h
int main(void)
{
int a[10],i,j,tmp,b;
srand(time(NULL));
for(i=0;i10;i)
a[i]=rand()0;
for(i=0;i10;i)
printf("=",a[i]);
printf("\n");
for(i=0;i9;i)
{
tmp=i;
for(j=i 1;j10;j)
{
if(a[tmp]a[j])
tmp=j;
}
if(i!=tmp)
{
b=a[tmp];
a[tmp]=a[i];
a[i]=b;
}
}
for(i=0;i10;i)
printf("=",a[i]);
printf("\n");
return 0;
}
随机产生数组中的元素, 更合理一些 。百科中有各种版本 。
C语言编写一个排序函数(对一维数组排序)并在主函数中调用for(j=i 1;jn;j)
{
if(a[j 1]a[i])//a[j 1]改成a[j]
{
t=a[i];
a[i]=a[j 1];//a[j 1]改成a[j]
a[j 1]=t;//a[j 1]改成a[j]
}
}
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; il - 1; i)
for(j = i 1; jl; 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语言数组顺序排列】c语言数组数字排序函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言数组顺序排列、c语言数组数字排序函数的信息别忘了在本站进行查找喔 。

    推荐阅读