c语言产生4位随机数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言产生4位随机数相关的知识,希望对你有一定的参考价值。
#include<stdio.h>
main()
int i=rand()%1000+1000;
printf("%d",i);
结果为什么总是1346?
#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语言产生一个随机的验证码(4位的随机字母和数字的组合),要求用户输入,给出长度不符的输入错位提示
C语言随机函数:用0到9这10位数随机输出4位.输出100次后停止...