c语言用数组和子函数排序 c语言数组的排序方法
C语言的题用函数实现数组数据的增加,删除,修改,查找和排序
#includestdio.h
创新互联公司是一家网站设计、做网站,提供网页设计,网站设计,网站制作,建网站,定制网站开发,网站开发公司,2013年开创至今是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。
#define maxn 1024
int arr[maxn], n;
void add(int value)
{
arr[n - 1] = value;
return;
}
void del(int index)
{
int i, j;
for(i = index; i n - 1; i++)
arr[i] = arr[i + 1];
n--;
return;
}
void update(int index, int value)
{
arr[index] = value;
return;
}
void search(int index)
{
printf("%d\n", arr[index]);
return;
}
void BubbleSort(int count)
{
int i, j;
for(i = 0; i count; i++)
{
for(j = count - 1; j i; j--)
{
if(arr[j] arr[j-1])
{
int temp = arr[j-1];
arr[j - 1] = arr[j];
arr[j] = temp;
}
}
}
return;
}
int main(void)
{
n = 0;
return 0;
}
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语言。数组排序函数(数组,函数,排序)
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void Sort(int *p,int n){
int i,j,k;
for(i=0;i10;i++){
for(k=i,j=i+1;j10;j++)
if(p[k]p[j]) k=j;
if(k!=i){
j=p[k];
p[k]=p[i];
p[i]=j;
}
}
}
void main(void){
int mat[10],i;
printf("Type 10 integers...\n");
for(i=0;i10;scanf("%d",mat+i++));
Sort(mat,10);
for(i=0;i10;printf("%d ",mat[i++]));
printf("\n");
}
C语言 写一主函数输入一组数,写一子函数,实现对该数组的冒泡(从小到大和从大到小各一个程序)排序并输
冒泡法,从小到大
# include stdio.h
void sx(int x[],int n) //冒泡法从小到大
{ int i,j,t;
for(j=0;jn-1;j++)
for(i=0;in-j;i++)
if(x[i]x[i+1]) {t=x[i];x[i]=x[i+1];x[i+1]=t;}
}
void main()
{ int a[10],i;
printf("Input 10 numbers:");
for(i=0;i10;i++)
scanf("%d",a[i]);
sx(a,10);
printf("从小到大:");
for(i=0;i10;i++)
printf("%d ",a[i]);
}
比较法从大到小:
# include stdio.h
void sx(int x[],int n)
{ int i,j,t;
for(i=0;in-1;i++)
for(j=i+1;jn;j++)
if(x[i]x[j]) {t=x[i];x[i]=x[j];x[j]=t;}
}
void main()
{ int a[10],i;
printf("Input 10 numbers:");
for(i=0;i10;i++)
scanf("%d",a[i]);
sx(a,10);
printf("cong da dao xiao:");
for(i=0;i10;i++)
printf("%d ",a[i]);
}
用C语言写一个子函数完成对一整型数组从大到小的排序
#includestdio.h
#includestdlib.h
int main()
{
void sort(int x[],int n);
int *p,i;
int N;
printf("please input the total num:");
scanf("%d",N);
int a[N];
printf("please input the %d num:\n",N);
p=a;
for(i=0;iN;i++)
scanf("%d",p++);
p=a;
sort(p,N);
for(p=a,i=0;iN;i++)
{printf("%d ",*p);p++;}
system("pause");
}
void sort(int x[],int n)
{
int i,j,k,t;
for(i=0;in-1;i++)
{k=i;
for(j=i+1;jn;j++)
if(x[j]x[k])
k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}
本文标题:c语言用数组和子函数排序 c语言数组的排序方法
文章网址:http://scyanting.com/article/hiisjh.html