资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

c语言五十个数排序函数 C语言十个数排序

C语言 编程 随机产生50个整数(15~500)之间,并降序排列

#define N 50

创新互联是专业的庄浪网站建设公司,庄浪接单;提供网站制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行庄浪网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

#includestdio.h

#includestdlib.h

#includetime.h

int main()

{

int a[N],i,j,tmp;

float avg;

srand(time(0));

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

a[i]=rand()%(500-15)+15;

//降序排列

for(i=0;iN-1;i++) for(j=i+1;jN;j++) 

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

tmp=a[i];a[i]=a[j];a[j]=tmp;

}

//输出数组

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

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

if(i%5==5-1) printf("\n");  //5个数据一行 

}

用C语言编写一段程序,对采集的50个浮点数a[50]进行排序

#include stdio.h

int a[101],n;//定义全局变量,这两个变量需要在子函数中使用

void quicksort(int left,int right)

{

int i,j,t,temp;

if(leftright)

return;

temp=a[left]; //temp中存的就是基准数

i=left;

j=right;

while(i!=j)

{

//顺序很重要,要先从右往左找

while(a[j]=temp  ij)

j--;

//再从左往右找

while(a[i]=temp  ij)

i++;

//交换两个数在数组中的位置

if(ij)//当哨兵i和哨兵j没有相遇时

{

t=a[i];

a[i]=a[j];

a[j]=t;

}

}

//最终将基准数归位 

第 1 章 一大波数正在靠近——排序

19

a[left]=a[i];

a[i]=temp;

quicksort(left,i-1);//继续处理左边的,这里是一个递归的过程

quicksort(i+1,right);//继续处理右边的,这里是一个递归的过程

}

int main()

{

int i,j,t;

//读入数据

scanf("%d",n);

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

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

quicksort(1,n); //快速排序调用

//输出排序后的结果

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

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

getchar();getchar();

return 0;

}

c语言生成50个随机数,对随机数进行快速排序。

楼下的几个回答我怎么看也不是快速排序,所以我做了一个用快速排序法排序的程序

#includestdio.h

#includestdlib.h

#includetime.h

#define LEN 50

//快速排序(升)

void quicksup(int *arr,int low,int high)

{

int temp,l,r;

if(lowhigh)

{

l=low;

r=high;

temp=arr[low];

while(lowhigh)

{

while(lowhigharr[high]=temp)

high--;

if(lowhigh)

arr[low]=arr[high];

while(lowhigharr[low]=temp)

low++;

if(lowhigh)

arr[high]=arr[low];

}

arr[low]=temp;

quicksup(arr,l,low-1);

quicksup(arr,low+1,r);

}

}

//快速排序(降)

void quicksdown(int *arr,int low,int high)

{

int temp,l,r;

if(lowhigh)

{

l=low;

r=high;

temp=arr[low];

while(lowhigh)

{

while(lowhigharr[high]=temp)

high--;

if(high==LEN)

high--;

if(lowhigh)

arr[low]=arr[high];

while(lowhigharr[low]=temp)

low++;

if(lowhigh)

arr[high]=arr[low];

}

arr[low]=temp;

quicksdown(arr,l,low-1);

quicksdown(arr,low+1,r);

}

}

//初始化数组

void init(int *arr,int len)

{

int i;

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

{

arr[i]=rand()%1000;

}

}

//打印数组元素

void print(int *arr,int len)

{

int i;

printf("\n  ");

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

printf("%4d  ",arr[i]);

printf("\n");

}

int main()

{

int arr[LEN];

srand((unsigned)time(NULL));

init(arr,LEN);

printf("排序前:");

print(arr,LEN);

quicksup(arr,0,LEN);

printf("排序后(升):");

print(arr,LEN);

quicksdown(arr,0,LEN);

printf("排序后(降):");

print(arr,LEN);

return 0;

}

用C语言编程,将50个实验数据从小到大排列,排完分为10组。请教大神赐教,谢谢!

int a=0; //正在处理的数下标,分组时的循环1

int b; //正在循环的数下标,分组时的循环2

int num[50]; //输入的数

int out[10][5]; //分好的数,out[0]为一组

//排序部分:

while(a=49)

{

for(b=0;b=ab=49;b++)

{

if(num[b]=num[b+1])

{num[b]^=num[b+1],num[b+1]^=num[b],num[b]^=num[b+1];}; //两数互换

};

};

//分组部分:

for(a=0;a=9;a++)

{

for(b=0;b=4;b++)

{

out[a][b]=num[a*10+b];

};

};

/*输入部分和输出部分就不加入了,这个你应该会。排序部分用的是冒泡法。我手上暂时没现成的编译器,可能会有些错,不过大致应该是对的*/

C语言使用随机函数rand()产生50个10~99的互不相同的随机整数放入数组a中,再按从大到小的顺序排序

你好!!

你的代码就没有输出部分呀

输出部分添加了,你看看吧

#include "stdlib.h"

#include"stdio.h"

#include"time.h"

void main()

{

int n ,a[50],i,j,t;

srand(time (NULL));

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

{

a[i]=rand()%90+10;

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

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

       i--;

}

printf("nafter:\n");

for(i=0;i50;i++)           // 下面这是打印输出

{

if (i%10==0)        // 十个数字换行

printf("\n");

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

}

}


分享标题:c语言五十个数排序函数 C语言十个数排序
分享路径:http://cdkjz.cn/article/hpicsd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220