问题: 编写代码模拟三次密码输入的场景。
最多能输入三次密码,密码正确,提示“登录成功”,密码错误,
可以重新输入,最多输入三次。三次均错,则提示退出程序。
问题解析: 1. 先用一个循环进行三次输入并进行判断, 如果与预设密码相同, 则跳出循环并输出"登陆成功"结果; 如果不相同, 进行下一次循环. 如果三次不成功, 输出"登陆失败".
代码片段如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
printf("请输入密码:");
//三次输入机会
for (int i = 0; i < 3; i++) {
scanf("%d", &n);
//判断用户输入数字是否在范围内
if (n == 8888) {
printf("登陆成功!");//在范围内跳出循环
}
//不在范围内,输出还有2-i次机会
else if (2 - i) {
printf("请输入正确的密码,你还有%d次机会:", 2 - i);
}
//当2 - i等于零时, 直接输出没机会了同时year赋值0,不再进行接下来的判断
else {
printf("\n登陆失败!\n");
}
}
system("pause");
return 0;
}
登陆成功的结果:
输入三次密码错误的结果: