注册 登录
编程论坛 C语言论坛

关于一个数组的问题

QingMu0310 发布于 2022-05-02 18:53, 1195 次点击
生成不重复的随机数序列
(1)生成[M,N]内Num个不重复的均匀随机整数并输出(Num<(N-M+1));

(2)生成[1,46]内5个不重复的均匀随机整数并输出

int Q1 ()

{
    //请在此处编写代码,生成[M,N]内Num个不重复的均匀随机整数并输出(Num<(N-M+1))
    int a[Num],score[5];
    srand(time(NULL));
   
    for(int i=0;i<Num;i++){
        a[i]=M+rand()%(N-M+1);          //生成随机数
        printf("a[%d]=%2d ",i,a[i]);
    }
   
   
   
    //请在此处编写代码,生成[1,46]内5个不重复的均匀随机整数并输出
    for(int i=0;i<5;i++){
        score[i]=M+rand()%(N-M+1);          //生成随机数
        printf("成绩[%d]=%2d ",i,score[i]);
    }
   
    printf("\n--------------- Q1 End ---------------------\n");

    return 0;
}
2 回复
#2
apull2022-05-04 09:41
这是第二个,供参考
程序代码:

for(int i=0;i<5;i++){
        score[i]=1+rand()%46;          //生成随机数
        for(int j=0;j<i;)
        {
                if(score[j]==score[i])
                {
                       score[i]=1+rand()%46;
                       j=0;
                       continue;
                }
                j++;
        }
        printf("成绩[%d]=%2d \n",i,score[i]);
    }
#3
yyy121382022-05-12 13:52
对给定的100个0-9之间的整数,请统计每个数在数列中出现的次数。
请问这个你会吗
1