A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#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;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马