c语言生成的随机数能指定其中一个数字出现的次数,求大神赐教,顺便解释一下写出的代码?

如题所述

用变量计算次数,判断生成的随机数,符合指定数字就保存,不符合就重新生成,这样就控制一个数出现次数。

下面我的代码,修改常量可实现任意个数任意正整数范围的随机数。

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#define NT 10//生成随机数的个数

#define MN 1//随机数范围(正整数)

#define MX 100//随机数范围(正整数)

int main()

{

    int i,a[NT],num=0,n=-1,rn;

    srand(time(NULL));

    printf("即将生成%d~%d的%d个随机数,请指定某一个数字出现的次数:\n",MN,MX,NT);

    printf("请输入指定的数字(%d~%d):",MN,MX);

    while(num<MN || num>MX)

        scanf("%d",&num);

    printf("请输入数字出现的次数(%d~%d):",0,NT);

    while(n<0)

        scanf("%d",&n);

    rn=rand()%(MX-MN+1)+MN;

    for(i=0;i<NT;i++)

    {

        if(n==0)

        {

            while(rn==num)

            {

                rn=rand()%(MX-MN+1)+MN;

                a[i]=rn;

                continue;

            }

            rn=rand()%(MX-MN+1)+MN;

        }

        if(n>0)

        {

            while(rn!=num)

                rn=rand()%(MX-MN+1)+MN;

            n--;

            a[i]=rn;

            continue;

        }

        a[i]=rn;

    }

    //-------打印输出--------------------

    printf("生成的%d个随机数为:\n",NT);

    for(i=0;i<NT;i++)

        printf("%d ",a[i]);

    printf("\n");

    return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-17
c语言生成的随机数能指定其中一个数字出现的次数,您可以设计一个输出该数字的语句,然后加一个for循环,设计好循环次数就可以了。
第2个回答  2019-12-17
这是电脑的专业知识是写程序的,很复杂,你需要向专业的人员求教才可以明白。
第3个回答  2019-12-17
具体的编程和代码是经过不同层
第4个回答  2019-12-17
你可以和编程老师面对面编写一下相关代码
相似回答