#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[]) {
// 1.声明一个长度为n的数组array,n的值由用户输入,并且规定n的值必须是大于0的整数
//请求用户输入1个值并且赋值n
int n=-1;
while(n<1) {
printf("请输入一个大于0的整数:");
scanf("%d",&n);
}
//声明数组array并初始化
int array [n];
// 2.获得随机数,范围为0-3*n(不包括3*n)并且不重复的为数组赋值
//声明一个ran用来存放随机数
int ran;
//将随机数不重复的赋值给array
for(int i=0; i<n; i++){
ran=arc4random_uniform(3*n);
//判断随机数是否与前几位重复
for (int j=0; j<i; j++) {
if(array[j]==ran){
ran=arc4random_uniform(3*n);
j=-1;
}
}
//当ran与0-(i-1)的值不重复时,将ran赋值给i
array[i]=ran;
}
//将赋值完的array重新打印输出
printf("下面是随机数组array的值\n");
for (int i=0; i<n; i++) {
printf("%d ",array[i]);
//当打印数值超过5个 就进行换行
if ((i+1)%5==0) {
printf("\n");
}
}
return 0;
} |
|