永发信息网

c语言 生成四位验证码问题

答案:2  悬赏:10  手机版
解决时间 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]);//从字符串中随机取一个小写字母,并循环四次,获得四个随机的小写字母 } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯