1.验证码
(1)纯4位数字的验证码
知识点:条件/判断——if语句
知识点:关系运算符:== 表示判断是否相等(不等于!= 小于< 小于等于<= 大于> 大于等于)=)
(2)纯1位字母的验证码
getchar()输入一个字符
putchar()输出一个字符
不分大小写
a :97 b :98 ...
A :65 B :66 ...
相差32
知识点:逻辑运算符 并且&& 或者|| 非!
(3)纯4位字母的验证码,不分大小写
(4)随机验证码。自学随机函数rand。
分层1:纯4位数字(随机)
分层2:字母数字混合,第1、3位是字母,第2、4位是数字(数字随机)
分层3:字母数字混合,第1、3位是字母(字母随机),第2、4位是数字(数字随机)
1-26数字,建立对应关系:1-a 2-b
例如
这个是固定的,无法改变的验证码
#includevoid main() { int num = 8797,pnum; printf("验证码:%dn",num); printf("请输入你所看到的验证码:n"); scanf("%d",&pnum); if(pnum == num) { printf("验证通过n"); } else { printf("验证失败n"); }
和
#includevoid main() { char ch1 = 'x',ch2 = 'a',ch3 = 'c',ch4 = 'f',pch1,pch2,pch3,pch4; printf("验证码:%c%c%c%cn",ch1,ch2,ch3,ch4); printf("请输入你所看到的验证码:不分大小写n"); //pch1 = getchar(); //pch2 = getchar(); //pch3 = getchar(); //pch4 = getchar(); scanf("%c%c%c%c",&pch1,&pch2,&pch3,&pch4); //putchar(pch); if(pch1<='Z' && pch1>='A') { pch1 = pch1 + 32; } if(pch2<='Z' && pch2>='A') { pch2 = pch2 + 32; } if(pch3<='Z' && pch3>='A') { pch3 = pch3 + 32; } if(pch4<='Z' && pch4>='A') { pch4 = pch4 + 32; } if(ch1 == pch1 && ch2 == pch2 && ch3 == pch3 && ch4 == pch4) { printf("验证通过n"); } else { printf("验证失败n"); } }
然后可以结合上面的写出随机验证码
#include暑期编程PK赛 得CSDN机械键盘等精美礼品!#include #include void main() { system("color FA"); int ch2,ch4,pch2,pch4; char ch1,ch3,pch1,pch3; srand((unsigned)time(NULL)); ch1=rand()%26+97; ch2=rand()%10; ch3=rand()%26+97; ch4=rand()%10; printf("验证码:%c%d%c%dn",ch1,ch2,ch3,ch4); printf("请输入显示的验证码[不区分大小写]:n"); scanf("%c%d%c%d",&pch1,&pch2,&pch3,&pch4); if(pch1<='Z' && pch1>='A') { pch1 = pch1 + 32; } if(pch3<='Z' && pch3>='A') { pch3 = pch3 + 32; } if(ch1 == pch1 && ch2 == pch2 && ch3 == pch3 && ch4 == pch4) { printf("验证成功n"); } else { printf("验证失败n"); } }



