请给我C语言编程的:帐号:6<=长度必须<=14,组成必须:只能包含字母、数字 密码:6<=长度必须<=18,以字母开头,只能包含字母、数字和下划线 确认密码:与密码字符串相同的代码
时间: 2023-06-01 18:05:48 浏览: 64
好的,针对您的问题,我可以给您提供以下 C 语言的代码片段:
```
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char username[15], password[19], confirm[19];
int i, len;
// 获取用户名
printf("请输入用户名(6~14位,只能包含字母、数字):");
scanf("%s", username);
len = strlen(username);
if (len < 6 || len > 14) {
printf("用户名长度必须在 6 到 14 之间!\n");
return 1;
}
for (i = 0; i < len; i++) {
if (!isalnum(username[i])) {
printf("用户名只能包含字母和数字!\n");
return 1;
}
}
// 获取密码
printf("请输入密码(6~18位,以字母开头,只能包含字母、数字和下划线):");
scanf("%s", password);
len = strlen(password);
if (len < 6 || len > 18) {
printf("密码长度必须在 6 到 18 之间!\n");
return 1;
}
if (!isalpha(password[0])) {
printf("密码必须以字母开头!\n");
return 1;
}
for (i = 1; i < len; i++) {
if (!isalnum(password[i]) && password[i] != '_') {
printf("密码只能包含字母、数字和下划线!\n");
return 1;
}
}
// 确认密码
printf("请再次输入密码进行确认:");
scanf("%s", confirm);
if (strcmp(password, confirm) != 0) {
printf("两次输入的密码不相同!\n");
return 1;
}
printf("用户名和密码设置成功!\n");
return 0;
}
```
这段代码可以实现输入用户名、密码和确认密码,然后进行一系列格式检查,确保用户名和密码符合要求。如果检查未通过,则会输出相应的错误提示。如果检查通过,则会输出用户名和密码设置成功的提示。