首页 > 试题广场 >

登录验证

[编程题]登录验证
  • 热度指数:20403 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
有个软件系统登录的用户名和密码为(用户名:admin,密码:admin),用户输入用户名和密码,判断是否登录成功。

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


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

输入

admin admin

输出

Login Success!
示例2

输入

admin abc

输出

Login Fail!
#include <stdio.h>
#include <string.h>
#define LEN 20

const char * user = "admin";
const char * password = "admin";

int main(void)
{
    char a[LEN], b[LEN];
    
    while (scanf("%19s %19s", a, b) != EOF)
    {
        if (strcmp(a, user) == 0 && 0 == strcmp(b, password))
        {
            puts("Login Success!");
        }
        else
        {
            puts("Login Fail!");
        }
    }
    
    return 0;
}
//字符串常量比较即可;
编辑于 2020-04-18 19:22:10 回复(0)
#include <stdio.h>
#include <string.h>


int main()
{
    char admin[6] = "admin";
    char password[6] = "admin";
    char a[100],b[100];
    while(scanf("%s %s",a,b) != EOF)
    {
        int i;
        int flag = 0;
        for(i=0;(admin[i] !='\0')||(password[i]!='\0');i++)
        {
            if((a[i] != admin[i])||(b[i] != password[i]))
            {
                flag = 1;
                break;
            }
        }
        if(flag == 1)
            printf("Login Fail!\n");
        else
            printf("Login Success!\n");
            
                
    }
    
    return 0;
}

发表于 2021-09-05 11:07:27 回复(0)
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
    Scanner scanner=new Scanner(System.in);
    String[] strs=scanner.nextLine().split(" ");
        if(strs[0].equals("admin")&&strs[1].equals("admin")) {
                System.out.println("Login Success!");
            }else {
                System.out.println("Login Fail!");
            }
        
    }
    
}
            
    


发表于 2020-06-15 10:46:51 回复(0)
#include <stdio.h>
#include <string.h>
int main()
{
    char ad[6]="admin";
    char str1[105],str2[105];
    while(scanf("%s %s",str1,str2)!=EOF){
        int i;
        int flag=1;
        for(i=0;ad[i]!='\0';i++){
            if(ad[i]!=str1[i]||ad[i]!=str2[i]){
                flag=0;
                break;
            }
        }
        if(flag) printf("Login Success!\n");
        else printf("Login Fail!\n");
    }
}

编辑于 2020-04-10 23:06:47 回复(0)

字符串比较用的是

strcmp(const char *__s1, const char *__s2)==0

不是==

发表于 2021-11-11 13:54:47 回复(0)
int main(){
    char admin[6], code[6];
    char pc[6];
    strcpy(pc, "admin");
    while(scanf("%s %s", &admin, &code) != -1){
        if(strcmp(admin, pc) == 0 && strcmp(code, pc) == 0){
            printf("Login Success!\n");
        }
        else{
            printf("Login Fail!\n");
        }
    }
    return 0;
}

发表于 2021-11-24 14:56:53 回复(0)
#include <iostream>
using namespace std;
int main(){
    string username, password;
    cin >> username >> password;
    username == "admin" && password == "admin" ? cout << "Login Success!" : cout << "Login Fail!";
    return 0;
}

发表于 2020-04-17 16:02:47 回复(0)
#include<stdio.h>
#include<string.h>

int main()
{
    char user[20]={0};
    char password[20]={0};
    scanf("%s",user);
    scanf("%s",password);
    if(strcmp(user,"admin")==0 && strcmp(password,"admin")==0){
        printf("Login Success!\n");
    }
    else{
        printf("Login Fail!\n");
    }
    return 0;
}

发表于 2021-08-29 00:27:16 回复(0)
这个题有个隐含的陷阱,千万不要以为通过字符串的长度来匹配,因为就算是长度一样了但是内容不一样还是会出错
#include<bits/stdc++.h>
using namespace std;
int main(){
    string user = "admin";
    string password = "admin";
    string a, b;
    int count = 0;
    while(cin >> a >> b){
        for(int i = 0; i < user.length(); i++){
            if(user[i] == a[i] && password[i] == b[i]){
                ++count;
            }
            else
                break;
        }
        if(count == user.length())
            cout << "Login Success!" << endl;
        else
            cout << "Login Fail!" << endl;
    }
    return 0;
}

编辑于 2020-06-01 17:21:35 回复(1)
#include<cstdio>
(802)#define max 100
/*没用到字符操作函数 - -*/
int main()
{
    int i=0;
    char a[max],b[max],c[max]="admin";
    scanf("%s %s",a,b);
    while(c[i]!='\0')
    {
        if(a[i]==c[i]&&b[i]==c[i])
            i++;
        else
            break;
    }
    if(c[i]=='\0')
        printf("Login Success!\n");
    else
        printf("Login Fail!\n");
    return 0;

发表于 2020-03-31 17:47:16 回复(0)
#include <stdio.h>
#include <string.h>
int main() {
    char name[100] = {0};
    char password[100] = {0};
    while (scanf("%s %s", name, password) != EOF) {
        if (( strcmp(name, "admin") == 0) && (strcmp(password, "admin") == 0))
            printf("Login Success!\n");
        else
        {printf("Login Fail!\n");}
        }
    return 0;
}

编辑于 2024-01-17 21:54:50 回复(0)
#include<stdio.h>
int main() {
    char str1[6] = {0}, str2[6] = {0};
    scanf("%s", str1);
    scanf("%s", str2);
    if (strcmp("admin", str1) == 0 && strcmp("admin", str2) == 0)
        printf("Login Success!\n");
    else
        printf("Login Fail!");
    return 0;
}

发表于 2022-08-09 14:46:24 回复(0)
#include <stdio.h>
#include <string.h>
int main(){
    char un[10], pw[10];
    while(~scanf("%s %s", un, pw))
        printf("%s", !strcmp("admin", un)? (!strcmp(un, pw)? "Login Success!\n" : "Login Fail!\n") : "Login Fail!\n");
    return 0;
}

发表于 2022-06-13 22:00:26 回复(0)
#include <stdio.h>

int main()
{
    char str1[20]="0";
    char str2[20]="0";
    while(~scanf("%s %s",str1,str2))
    {
        if(strcmp(str1,"admin")==0&&strcmp(str2,"admin")==0)
            printf("Login Success!\n");
        else
            printf("Login Fail!\n");
    }
    return 0;
}

发表于 2024-04-08 18:27:19 回复(0)
#include <stdio.h>

int main()
{
    char a[6];
    char b[6];
    char c[6]="admin";
    scanf("%s %s",a,b);
    int i;
    int flag1=1;
    int flag2=1;
    for(i=0;i<5;i++)
    {
        if(a[i]!=c[i])
        {
            flag1=0;
            break;
        }
    }
    for(i=0;i<5;i++)
    {
        if(b[i]!=c[i])
        {
            flag2=0;
            break;
        }
    }
    if (flag1&&flag2)
    {
        printf("Login Success!");
    }
    else
    {
        printf("Login Fail!");
    }
    return 0;
}
编辑于 2024-03-31 17:38:12 回复(0)
#include <stdio.h>
#include <string.h>

int main() 
{
    char userName[] = "admin";
    char passWord[] = "admin";
    char inputName[20] = {0};
    char inputPass[20] = {0};

    while (scanf("%s%s", inputName, inputPass) != EOF) 
    {
        if(strcmp(userName, inputName) != 0 
        || strcmp(passWord, inputPass) != 0)
        {
            printf("Login Fail!\n");
        }
        else 
        {
            printf("Login Success!\n");
        }
    }
    return 0;
    
}

编辑于 2024-03-19 15:27:28 回复(0)
#include <stdio.h>
#include <string.h>

int main() {
    char id[10]="admin",passwd[10]="admin",uid[10],upasswd[10],flag;
    while (scanf("%s%s", uid, upasswd) != EOF) {
        flag=strcmp(id,uid);
        if (!flag) {
            flag=strcmp(passwd,upasswd);
            if (!flag) {
                printf("Login Success!\n");
                continue;
            }
        }
        printf("Login Fail!\n");
    }
    return 0;
}
编辑于 2024-03-09 23:36:20 回复(0)
#include <stdio.h>
#include <string.h>

int main() {
    char name[10]={0};
    char passage[10]={0};
    char NAME[]="admin";
    char PASSAGE[]="admin";
    while(scanf("%s %s", name, passage) != EOF){
        strcmp(name, NAME) == 0 && strcmp(passage, PASSAGE) == 0 ? printf("Login Success!\n") : printf("Login Fail!\n");
    }
    return 0;
}

编辑于 2024-02-11 16:00:23 回复(0)
package main

import (
    "fmt"
)

func main() {
    var username,passwd string
    for {
        _,err:=fmt.Scan(&username,&passwd)
        if err != nil {
            return 
        }
        if username=="admin"&&passwd=="admin" {
            fmt.Println("Login Success!")
            continue
        }
        fmt.Println("Login Fail!")
    }
}
发表于 2023-12-21 03:08:58 回复(0)
???这是为啥
发表于 2023-11-24 10:45:57 回复(0)

问题信息

上传者:牛客309119号
难度:
90条回答 3030浏览

热门推荐

通过挑战的用户

查看代码