c语言随机数组排序函数,C语言产生随机数并排序

用C语言如何将一个一维数组中的元素随机排序

#include

成都创新互联专注于开原企业网站建设,响应式网站,商城网站开发。开原网站建设公司,为开原等地区提供建站服务。全流程按需定制制作,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

#include

#include

intmain()

{

inti,j,n,k,t,a[100];

srand((unsigned)time(NULL));

p

利用rand()函数产生随机数字,rand()%n产生小于n的随机数,然后交换。

运行的结果:

#include

#include

intmain()

{

intnbs

利用rand()函数产生随机数字,rand()%n产生小于n的随机数,然后交换。

扩展资料

C语言排序法

在一层循环找出最小数的下标,该下标用min保存,直到比较完整个数组,即可找到最小的数,然后将该数放入数组的第一位。

这样只能排好一个元素,于是需要再嵌套一层外层循环即可排好所有元素。第二次循环就不用再比较第一个元素了,因为第一个元素已经排好,依次类推,每一次循环就会排好一个,进行n-1次循环即可排好所有元素。

用C语言如何将一个一维数组中的元素随机排序?

利用rand()函数产生随机数字,rand()%n产生小于n的随机数, 然后交换。

下面是我写的程序:

#include stdio.h#include stdlib.hint main(){ int a[1000], n, i, j, p, q, t; while(1) { printf("\n\n请输入一维数组的维数,0结束 n = "); scanf("%d", n); if(n==0) break; printf("请输入一维数组中的数据:\n"); for(i=0; in; i++) scanf("%d", a[i]); j=10; while(j--)//随机交换10次 { p=rand()%n;//产生两个随机数 q=rand()%n; t=a[p];//交换 a[p]=a[q]; a[q]=t; } printf("\n随机交换后数组的元素为:\n"); for(i=0; in; i++) printf("%d ", a[i]); }}

C语言 随机数组排序

#include "stdlib.h"

#include "stdio.h"

main()

{

int i,j,k,a[10000],b[10000],n,t;

printf("please input the number of integer: ");

scanf("%d",n);

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

{

a[i] = random(80) + 20; /*生成数组*/

}

for(i = 0;i n;i++) /*初始化元素数量*/

b[i] = 1;

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

{

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

{

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

{

b[i]++; /*计数*/

n--;

for(k = j;k n;k++) /*去掉数组中重复值*/

a[k] = a[k + 1];

j--;

}

}

}

for(i = 1;i n;i++) /*升序排序*/

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

if(a[j] a[j+1])

{

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

t = b[j];b[j] = b[j + 1];b[j + 1] = t;

}

printf("\n Integer numbers\n");

for(i = 0;i n;i++) /*输出*/

{

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

}

getch();

}

C语言中怎么对数组随机排序?

可以用一个辅助数组进行随机排序,方法如下:

1 获取要排序的数组长度L。

2 定义整型的辅助数组,长度为L。

3 生成L个随机整型数字,存与辅助数组中,这样要排序数组和辅助数组就是一一对应的了。

4 对辅助数组排序,排序过程中,当改变辅助数组中数字的位置时,同步改变要随机排序的原数组中对应的元素位置。比如为排序交换辅助数组的第三个和第五个元素,那么就要同时交换原数组中的第三个和第五个元素。

5 当辅助数组排序完成后,原数组中的值就是随机顺序了。

6 删除辅助数组。

C语言中的排序函数是什么

include cstdlib 或 #include stdlib.h

qsort(void* base, size_t num, size_t width, int(*)compare(const void* elem1, const void* elem2))

参数表

*base: 待排序的元素(数组,下标0起)。

num: 元素的数量。

width: 每个元素的内存空间大小(以字节为单位)。可用sizeof()测得。

int(*)compare: 指向一个比较函数。*elem1 *elem2: 指向待比较的数据。

比较函数的返回值

返回值是int类型,确定elem1与elem2的相对位置。

elem1在elem2右侧返回正数,elem1在elem2左侧返回负数。

控制返回值可以确定升序/降序。

产生随机数的函数也是rand(),不是rank().


当前标题:c语言随机数组排序函数,C语言产生随机数并排序
浏览地址:http://azwzsj.com/article/hcedpi.html