C语言随机函数
2.int radio =rand() % 5 + 1;//radio为随机1~5的整数
系统随机函数,必须包含两个头文件,stdio.h,stdlib.h,time.h,。上面两行代码必须一起用,第一行是清空随机函数缓存。如果没有第一句,则每次得到的随机函数都是一样的。
例如,我们需要一个5位数的随机数,代码如下:
#include
#include
#include
int main(){
intradio=0;
chara[5]={};
inti=0;
srand((unsigned)time(NULL));
radio=rand()%5+1;
for(i=0;i<5;i++)
{
a[i]="qwertyuiop"[rand()%10];
printf("%c",a[i]);
}
printf("%d",radio);
}
一般登录网站都必须输入验证码,验证码只是随机函数而已,比如说我们要得到一个5位数的字母数字组合的验证码;代码如下:
#include
#include
#include
#include
int main(){
inti=0;
charstr[10]="",str2[10]="";
//验证码
for(i=0;i<5;i++){
srand((unsigned)time(NULL)+i);
str[i]="0123456789abcdefghihklmnopqrstuvwxyz"[rand()%36];
}
printf("验证码:%s",str);
printf("");
printf("输入验证码:");
fgets(str2,10,stdin);
str2[strlen(str2)-1]=;
if(strcmp(str,str2)!=0){
printf("验证码输入错误");
return1;
}
else
printf("验证码输入正确");
}
str[i]="0123456789abcdefghihklmnopqrstuvwxyz"[rand()%36];
这行代码,双引号里面的数字大小写字母随便写,’%’后面的数字通常和前面的个数对应,也可以小于前面的个数,比如说就是n,那这样只有前n个字符有效,随机字符也会从前n个中输出。
更正:验证码一般不使用0,o,1,l,2,z,这六个字符,所以应该是str[i]="3456789abcdefghihkmnpqrstuvwxy"[rand()%30];
多谢老李的提醒,以后多向你学习
C语言随机函 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)