C语言排序问题自定义函数 c语言快速排序函数

c语言怎么用自定义函数排序

#include stdio.h

目前创新互联已为上1000+的企业提供了网站建设、域名、网页空间、网站托管运营、企业网站设计、临安网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

#include string.h#define NUM 3

struct student

{

char name[20]; /*姓名*/

long num; /*12位学号*/

double sum; /*总分*/

};

void Create_Students(struct student stu[NUM])

{

struct student *p;

printf("请输入学生姓名 学号(12位) 总分:\n");

for( p = stu; p stu+NUM; p++)

{

scanf("%s %d %lf",p-name,p-num,p-sum); }

}

void Order_Students(struct student stu[NUM])//起泡法

{

int i,j;

struct student temp;

for(i=NUM-1;i=0;i--)

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

if(stu[j].sumstu[j+1].sum)

{

temp = stu[j];

stu[j] = stu[j+1];

stu[j+1]=temp;

}

}

void main()

{

int i=1;

struct student *p;

struct student stu[NUM];

Create_Students(stu);

Order_Students(stu);

printf("%-20s %-13s %-6s %4s\n","姓名","学号(12位)","总成绩","名次");

for(p=stu;pstu+NUM;p++,i++)

{

printf("%-20s %-13.0d %-8.2f %2d\n",p-name,p-num,p-sum,i);

}

}//你参考参考,嘿

C语言,输入一组数进行排序,由大到小排列,用自定义函数实现

给你一个直接插入排序

#include "stdio.h"

void InsertSort(int a[], int left, int right) {//对数组a从下标为left到right区域进行直接插入排序

int i, j, tmp;

for(i = left + 1; i = right; i++) {

for(j = i - 1, tmp = a[i]; j = left tmp a[j]; j++)

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

a[j + 1] = tmp;

}

}

void main( ) {

int i, n, a[100];

scanf("%d", n);

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

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

InsertSort(a, 0, n - 1);

printf("\n");

for(i = 0; i n; i++) printf("%d\t", a[i]);

}

C语言自定义的排序函数的问题?

老师教的东西没学会呀,要用指针

void atoz(int *a,int *b,int *c) //将输入的数据按由小到大排列

再试一下或者

void atoz(int a,int b,int c) //将输入的数据按由小到大排列

知道数组为什么能行吗?应为数组x[]其实就是一个指针或者理解为地址


分享标题:C语言排序问题自定义函数 c语言快速排序函数
文章出自:http://pwwzsj.com/article/ddesjod.html