【c15-16第一场】1766 -登录密码验证 之二

Problem F: 登录密码验证 之二

SUMARY
while中continue和break的用法,break直接结束,continue读取下一个

Description

编写一个程序,模拟用户登录系统的密码验证过程。系统提供给用户的密码长度最长为20个字符,若密码输入错误可以再次输入。但为了保证用户密码安全,若连续输入密码错误超过5次就会锁定账号一段时间。

与此前不同的是,这次系统的密码验证是大小写无关的,也就是说同一个英文字母的大、小写视作相同字符。

Input

输入为若干个串,至EOF结束。输入的第一个串是用户的正确密码,后面的串为模拟用户登录时的输入的密码。

Output

每次输入错误的密码,输出一个“Wrong!”,若输入的密码为正确的,输出一个“Welcome!”,并结束密码测试。若前5次输入的密码都是错误的,则后面的输入中不管是否有正确的密码都输出“Out of limited!”。

Sample Input

ABCDEFG
123456 kkkkkkkk abcdefg

Sample Output

Wrong!
Wrong!
Welcome!

HINT

Append Code

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<math.h>

char GetAnswer(char a){
    return a + 32;
}

int main(){
    char a[20];
    scanf("%s",a);
    getchar();
    int num1 = strlen(a);
    int j = 0;
    for(j = 0;j < num1;j++){
        if(a[j] >= 'A' && a[j] <= 'Z')a[j] = a[j] + 32;
    }
    int i = 0;
    char b[20];
    while(scanf("%s",b) != EOF){
        i++;
        if(i > 5){
            printf("Out of limited!\n");
            continue;
        }
        int num2 = strlen(b);
        if(num1 != num2){
            printf("Wrong!\n");
            continue;
        }
        int flag = 0;
        for(j = 0;j < num1;j++){
            if(b[j] >= 'A' && b[j] <= 'Z')b[j] = b[j] + 32;
            if(b[j] != a[j]){
                    flag++;
                continue;
            }
        }
        if(flag != 0){
            printf("Wrong!\n");
        }
        else {
            printf("Welcome!\n");
            break;
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值