首页 热点专区 义务教育 高等教育 出国留学 考研考公

c语言生成的随机数能指定其中一个数字出现的次数,求大神赐教,顺便...

发布网友 发布时间:2024-10-18 06:16

我来回答

5个回答

热心网友 时间:2024-10-18 06:38

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

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

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

}

热心网友 时间:2024-10-18 06:38

这是电脑的专业知识是写程序的,很复杂,你需要向专业的人员求教才可以明白。

热心网友 时间:2024-10-18 06:42

你可以和编程老师面对面编写一下相关代码

热心网友 时间:2024-10-18 06:42

具体的编程和代码是经过不同层

热心网友 时间:2024-10-18 06:43

c语言生成的随机数能指定其中一个数字出现的次数,您可以设计一个输出该数字的语句,然后加一个for循环,设计好循环次数就可以了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com