题目:

共有三次输入密码的机会,如果在三次输入中有一次输入正确则打印\"密码正确,登录成功\";如果输入失败则打印“密码错误,登录失败”;如果输入密码三次失败则打印出“你的账号已被锁定,请联系工作人员解锁”。

思路:

先定义一个密码,判断输入的密码与所定义的密码是否相等需要 if() 语句;有三次机会则需要一个循环语句;输入密码正确的话跳出循环。最后再一次用 if() 判定跳出循环的原因是因为输入密码超过三次还是输入密码正确?

下面是具体代码

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

int main()
{
	char name = \"maze123\";
	char password[1024] = { 0 };
	printf(\"Your name is maze123\\n\");
	printf(\"please put your password:\\n\");
	int i = 0;
	for(;i<3;++i)
	{
		scanf(\"%s\", password);
		if (strcmp(password,\"123456789\")==0)
		{
			break;
		}
		else
		{
			printf(\"密码错误,登录失败\\n\");
		}
		
	}
	if (i < 3)
	{
		printf(\"密码正确,登录成功\\n\");
		
	}
	else
	{
		printf(\"你的账号已被锁定,联系工作人员解锁!\\n\");
	}

	system(\"pause\");
}

注意事项:

判断密码是否相等:if (strcmp(password,“123456789”)==0)   在C语言中,字符串之间不可以比较,得用strcmp()函数。strcmp()还有一个用法是比较字符串大小 例如:strcmp(A,B)如果A>B则返回大于0的数,如果A<B则返回小于0的数,否则返回0. strcmp头文件是#include<string.h>

收藏 打印