C语言中怎么产生三个互不相同的随机数 求代码

2024-11-01 00:17:16
推荐回答(3个)
回答1:

#include 
#include 
#include 

int main(void)
{
    int i, vis[100] = {0}, tot = 3;
    srand((int)time(0));
    for(;tot;)
    {
        int index = rand() % 100;
      族友  if(!vis[index])
        {
    嫌樱        printf("%d ", index);
            vis[index] = 1;
            tot--;
        }
    芹穗丛}
    return 0;
}

 

回答2:

#include 
#include 
#include 
int main()
{
    int a,b,c;//保存3个随机数
    srand((unsigned)time(NULL));
    a=rand()%10;//产生一个0~9的随机数
    while(1)//产生一个不等于a的0~9的随机数
    {
 升埋和       b=rand()%10;
        if(b!=a) break;
  液枝  }
    while(1)//产生一个不等于a和b的0~9的随机数
    {
        c=rand()%10;
        if((c!=a) && (c!=b)) break;
    吵盯}
    printf("a=%d,b=%d,c=%d\n",a,b,c);
    return 0;
}

回答3:

srand((int)time(NULL));设定随机数种子
rand()%100;产生0-99的随机数。高级点的,假如要产生谈基16-59之间的数,你可以这样写:rand()%44+16(这里44由59-16+1得到)。其他情含祥谨况如法炮制!宴漏