问题:随机生成一组验证码,输入并比较是否输入正确。
代码:
//定义验证字符
char ver[] = {'0','1','2','3','4','5','6','7','8','9','q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','m','n','Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M'};
//计算数组长度
int length = sizeof(ver)/sizeof(char);
//产生随机数下标
Byte n1 = arc4random() % length;
Byte n2 = arc4random() % length;
Byte n3 = arc4random() % length;
Byte n4 = arc4random() % length;
//产生随机数
char a = ver[n1];
char b = ver[n2];
char c = ver[n3];
char d = ver[n4];
printf("Verification code:%C %C %C %C\n",a,b,c,d);
//定义输入验证码字符
char num1[6];
printf(" please input Verification code:\n");
scanf("%s",num1);
char A = num1[0];
char B = num1[1];
char C = num1[2];
char D = num1[3];
<span style="white-space:pre"> </span>//使用while循环验证
while(!( A== a & B == b & C == c & D == d)){
printf("error,please input again:\n");
scanf("%s",num1);
A = num1[0];
B = num1[1];
C = num1[2];
D = num1[3];
}
printf("input right\n");