6位密码输入检测从键盘输入6位仅由数字0~9组成的密码。用户每输入一个密码并按回车键后,程序给出判断:如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码;否则,程序提示"error",并让用户继续输入下一位密码。直到用户输入的密码全部是数字为止。以下为程序的运行结果示例:Input your password:11, you have enter 1-bits number66, you have enter 2-bits numberaerrorderror44, you have enter 3-bits number66, you have enter 4-bits number88, you have enter 5-bits number22, you have enter 6-bits number输入格式:"%c"输入提示信息:"Input your password:\n"如果输入的是数字,输出格式为:"%c, you have enter %d-bits number\n"如果输入的不是数字,输出提示信息:"error\n"
时间: 2024-03-18 07:40:56 浏览: 64
数字密码键盘(6位)
5星 · 资源好评率100%
以下是一个可能的 C 语言程序设计实验题的解答:
```c
#include <stdio.h>
#include <ctype.h>
#define PASSWORD_LENGTH 6
int main()
{
char password[PASSWORD_LENGTH];
int i, count = 0;
char c;
printf("Input your password:\n");
for (i = 0; i < PASSWORD_LENGTH; i++)
{
c = getchar();
if (isdigit(c))
{
password[i] = c;
count++;
printf("%c, you have enter %d-bits number\n", c, count);
}
else
{
printf("error\n");
i--;
}
while (getchar() != '\n')
; // 等待用户按下回车键
}
printf("Your password is: %s\n", password);
return 0;
}
```
在该程序中,我们首先定义了密码的长度为 6(即 `#define PASSWORD_LENGTH 6`),并定义了一个字符数组 `password` 来存储用户输入的密码。我们使用 `getchar()` 函数逐个读取用户输入的字符,并使用 `isdigit()` 函数来判断该字符是否是数字。如果是数字,则将其存储在 `password` 数组中,并输出提示信息;如果不是数字,则输出错误提示信息,并将计数器 `i` 减 1,以便重新输入该位密码。最后,我们使用 `printf()` 函数输出用户输入的完整密码。
需要注意的是,由于用户输入的密码是以回车键结尾的,我们需要使用一个循环来等待用户按下回车键,以便程序能够继续读取下一位密码。这里我们使用了一个简单的 while 循环来读取输入缓冲区中的所有字符,直到遇到回车键为止。
阅读全文