c语言 生成四位验证码问题
解决时间 2021-03-09 03:56
- 提问者网友:两耳就是菩提
- 2021-03-08 03:27
写了一个自动生成4位验证码的程序,范围在1到10,a到z和A到Z,但是运行后有ascii码不在要求范围内的奇怪字符出现,求高人求解,感激不尽。
#include
#include
#include
void ran (int x[]);
void check(int y[]);
int a[4];
int i,j,k,t;
char b;
int main()
{
ran(a);
check(a);
for (t=0;t<4;t++)
printf("%c\n",a[t]);
return 0;
}
void ran(int x[]) // 随机生成数字
{
srand((unsigned)time(NULL));
for(j=0;j<4;j++)
x[j]=(rand()%122+1);
}
void check(int y[]) //检测ascii码是否在1到10,a到z,A到z的范围之内
{
for(k=0;k<4;k++)
{
if(y[k]<33||(y[k]>57&&y[k]<64)||(y[k]>90&&y[k]<97)||y[k]>123)
ran(y) ;
}
}
最佳答案
- 五星知识达人网友:山河有幸埋战骨
- 2021-03-08 04:35
#include
#include
main()
{
char a[27]="abcdefghijklmnopqrstuvwxyz";//定义一个包含26个小写字母的字符串
int i,j; char output[5]="";
srand((int)time(0));//初始化随机数发生器
for(i=0;i<4;i++)
{
j= rand()%26;//取得0~25的随机数
printf("%c",a[j]);//从字符串中随机取一个小写字母,并循环四次,获得四个随机的小写字母 output[i]=a[j];
}
}
全部回答
- 1楼网友:掌灯师
- 2021-03-08 06:13
#include
#include
main()
{
char a[27]="abcdefghijklmnopqrstuvwxyz";//定义一个包含26个小写字母的字符串
int i,j;
srand((int)time(0));//初始化随机数发生器
for(i=0;i<4;i++)
{
j= rand()%26;//取得0~25的随机数
printf("%c",a[j]);//从字符串中随机取一个小写字母,并循环四次,获得四个随机的小写字母
}
}
我要举报
大家都在看
推荐资讯