BC80 登录验证

(来自 牛客网 编程初学者入门训练)

1.问题:

(链接呈上:登录验证

描述

有个软件系统登录的用户名和密码为(用户名:admin,密码:admin),用户输入用户名和密码,判断是否登录成功。

输入描述:

多组测试数据,每行有两个用空格分开的字符串,第一个为用户名,第二个位密码。

输出描述:

针对每组输入测试数据,输出为一行,一个字符串(“Login Success!”或“Login Fail!”)。

示例1

输入:admin admin
输出:Login Success!

2.代码:

//#include<stdio.h>
//#define max 100
//int main()
//{
//	char arr[max] = { 0 };
//	char text[11] = "admin admin";
//	int flag = 0;//标记!
//	printf("请输入用户名 密码:");
//	while (gets(arr) != EOF)
//	{
//		int i = 0;
//		for (i = 0; i < 11; i++)
//		{
//			//方法一
//			/*if (text[i] != arr[i])
//			{
//				printf("Login Fail!\n");
//				break;
//			}
//			if (text[10] == arr[10])
//			{
//				printf("Login Success!\n");
//				break;
//			}*/
//			//方法二
//			if (text[i] != arr[i])
//			{
//				printf("Login Fail!\n");
//				flag = 1;
//				break;
//			}
//		}
//		if (0 == flag)
//		{
//			printf("Login Success!\n");
//		}
//	}
//	return 0;
//}

//方法三
#include<stdio.h>
#include<string.h>
#define max 100
int main()
{
	char name[max] = { 0 };
	char password[max] = { 0 };
	while (scanf("%s %s", &name, &password) != EOF)//数组名!
	{
		//if ((name == "admin") && (password == "admin"))
		if (strcmp(name, "admin") == 0 && strcmp(password, "admin") == 0)
		{
			printf("Login Success!\n");
		}
		else
		{
			printf("Login Fail!\n");
		}
	}
	return 0;
}

 

3.说明:

方法一、二均会显示超时,但是均可实现—所用原理是 把空格也当成字符;

方法三可以达到实现的效果 ,但是注意输入一串字符时用的是%s +数组名 !  注意比较函数strcmp--strcmp(被比较的数组名,原油的比较的对象"")==0 则相等!

另一种被屏蔽的方法无法实现,因为输入数组后面还有字符,全为0 

K_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'Dream是普通小孩耶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值