利用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]); }}
#include
intmain()
{
inti,j,n,k,t,a[100];
srand((unsigned)time(NULL));
p
利用rand()函数产生随机数字,rand()%n产生小于n的随机数,然后交换.
运行的结果:
intnbs
扩展资料
C语言排序法
在一层循环找出最小数的下标,该下标用min保存,直到比较完整个数组,即可找到最小的数,然后将该数放入数组的第一位.
这样只能排好一个元素,于是需要再嵌套一层外层循环即可排好所有元素.第二次循环就不用再比较第一个元素了,因为第一个元素已经排好,依次类推,每一次循环就会排好一个,进行n-1次循环即可排好所有元素.
以上就是土嘎嘎小编为大家整理的c语言随机排序函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!