默认字符串密码为"oqabed",输入密码利用in类型"1234"分别对应char类型"o;abecd", 每输入每位密码判断是否正确。如果错张继续输入这一位密码,当4往密码都正确时, 输出"开锁成功"。用c语言写
时间: 2024-10-20 20:10:42 浏览: 33
在C语言中,你可以使用循环结构和条件判断来实现这个功能。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#define PASSWORD "oqabed"
#define INPUT "1234"
int main() {
char input[5], correct_char[6] = {'o', ';', 'a', 'b', 'e', 'd'};
int i = 0;
printf("请输入密码 (每个数字对应一个字符): ");
fgets(input, sizeof(input), stdin);
// 去除换行符
input[strcspn(input, "\n")] = '\0';
while (i < strlen(INPUT)) {
if (input[i] == correct_char[i]) {
printf("密码匹配成功!\n");
++i;
} else {
printf("密码错误! 请重新输入第 %d 位: ", i + 1);
scanf("%1c", &input[i]);
getchar(); // 清理上一次输入的回车符
}
}
if (i == strlen(INPUT)) {
printf("开锁成功!\n");
}
return 0;
}
```
在这个程序中,我们首先定义了默认密码和用户输入的密码作为字符数组。然后,通过`while`循环逐个比较输入的字符和预设的正确字符。如果输入正确,计数器增加并继续下一位;如果不正确,则提示用户重新输入该位置的字符。最后,当所有字符都匹配时,输出“开锁成功”。
阅读全文