1. 编写一个验证密码的程序。(假设正确密码为:abcd且密码不区分大小写)
l 若输入正确,显示“欢迎使用!”
l 若输入错误,显示“密码错误,请重新输入!”,让用户再次输入,当密码错误次数达到3次,则显示“对不起,您无权使用!”
用C语言的数组相关知识解答,最好有注释
密码不区分大小写
你的程序写的不错,就这里有问题,请问如何改?
谢谢!
#include<stdio.h>
#include<string.h>
void main()
{
char str1[20],str2[20]="abcd";//定义两个字符串数组,str2存放已知密码,str1存放输入密码
int i=0,k,flag=0;
printf("请输入密码:");
while(1)//死循环
{
gets(str1);//输入密码
strlwr(str1);//把输入密码转换为小写
k=strcmp(str1,str2);//比较,输入密码和已知密码相等,k=0
++flag;//计数器加1
if(!k)
{ printf("欢迎使用\n");
break;
}
else if(k&&flag!=3) printf("密码输入错误,请再次输入:\n");
if(flag==3)//当输入超过三次,跳出循环,结束程序
{
printf("对不起,您无权使用");
break;
}
}
}
加了一句:strlwr(str1)
测试结果: