利用rand()函数产生随机数字,rand()%n产生小于n的随机数, 然后交换。下面是我写的程序:#include <stdio.h>#include <stdlib.h>int 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; i<n; 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; i<n; i++) printf("%d ", a[i]); }}
阅读全文 >