c语言产生4位随机数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言产生4位随机数相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
main()

int i=rand()%1000+1000;
printf("%d",i);

结果为什么总是1346?

可以将生成的随机数放入数组中,每次遍历数组,有相同的重新生成随机数。知道生成4个即退出循环。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()

int num[4], cnt = 0, n;
srand(clock()); // 设置随机数种子
while (cnt < 4)

n = rand() % 4; // 生成4以内随机数,这样更利于测试
for (int i = 0; i < cnt; i++)
if (num[i] == n) // 遍历数组,有相同的重新生成随机数
continue;
num[cnt++] = n;

for (int i = 0; i < cnt; i++) // 打印随机数数组
printf("%d ", num[i]);
return 0;
参考技术A C的标准库提供的随机数发生函数是伪随机的,其实只是一串看上去随即的数字而已,每次使用都是从头开始读取的,结果当然会都一样了。
像楼上的那样加上个时间,因为当前时间是不确定的,就会产生变化了本回答被提问者采纳
参考技术B Random rd = new Random();
yzm = rd.Next(1000, 10000).ToString();
因为yzm在这之前就定义了是个string类型的,这是我在发送验证码的一个需求里面写的
参考技术C #include<stdio.h>
#include<time.h>
main()

srand((unsigned)time(NULL));
int i=rand()%1000+1000;
printf("%d",i);

c语言产生一个随机的验证码(4位的随机字母和数字的组合),要求用户输入,给出长度不符的输入错位提示

参考技术A #include <bits/stdc++.h>
using namespace std;

  char a[233],st[233];

  int getnum(int num)
   if (num<26) return('a'+num);else
   return('0'+num-26);
  

  int main()
   srand(time(0));
   for (int i=1;i<=4;i++) printf("%c",a[i]=getnum(rand()%36));printf("\\n");
   scanf("%s",&st);
   if (strlen(st)!=4) printf("WRONG LENGTH\\n");return(0);
   for (int i=0;i<4;i++)
     if (st[i]!=a[i+1])
       printf("DIFFERS AT %d",i+1);
       return(0);
  
printf("RIGHT\\n");
  

参考技术B 到底是要随机生成还是用户输入???

以上是关于c语言产生4位随机数的主要内容,如果未能解决你的问题,请参考以下文章

用C语言写出一道关于随机数的编程题

c语言产生一个随机的验证码(4位的随机字母和数字的组合),要求用户输入,给出长度不符的输入错位提示

C语言随机函数:用0到9这10位数随机输出4位.输出100次后停止...

怎样用Excel随机函数rand()生成随机数字和大写字母,能自动产生4位混合的

C语言随机数问题

C语言如何编程产生随机数?