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  

例如

这个是固定的,无法改变的验证码

#include<stdio.h>
void main()
{
	int num = 8797,pnum;
	printf("验证码:%d\n",num);
	printf("请输入你所看到的验证码:\n");
	scanf("%d",&pnum);
	if(pnum == num)
	{
		printf("验证通过\n");
	}
	else
	{
	    printf("验证失败\n");
}

#include<stdio.h>
void main()
{
	char ch1 = 'x',ch2 = 'a',ch3 = 'c',ch4 = 'f',pch1,pch2,pch3,pch4;
    printf("验证码:%c%c%c%c\n",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 <stdio.h> 
#include <stdlib.h>
#include <time.h>
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%d\n",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");
}
}

更多推荐

C语言验证码--自学第三天