问题:
编写代码模拟三次密码输入的场景。
最多能输入三次密码,密码正确,提示“登录成功”,密码错误,
可以重新输入,最多输入三次。三次均错,则提示退出程序。
基本思路:
1.建立一个数组word[]来存放6位的密码。
2.创建一个compare()函数对输入的密码和正确的密码进行比较,如果不相等返回0,如果相等则返回1.
3.在主函数中输入密码,并调用compare()函数进行比较,在三次的输入机会中,密码正确则显示登陆成功;密码错误则进行判断,如果已输入次数小于3那么重新输入,如果等于3则退出程序。
代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int compare(int a[], int b[]){
for (int i = 0; i < 6; i++){
if (a[i] != b[i]){
return 0;
break;
}
}
return 1;
}
int main(){
int word[6] = { 1, 2, 3, 4, 5, 6 };
for (int i = 0; i < 3; i++){
printf("请输入您的密码:");
int j, input[6];
for (j = 0; j < 6; j++){
scanf("%d", &input[j]);
}
int result = compare(word, input);
if (result == 1){
printf("登陆成功!\n");
break;
}
else{
if (i == 2){
printf("密码错误,退出程序!\n");
}
else{
printf("密码错误,请重新登录:\n");
}
}
}
system("pause");
return 0;
}