如何用c语言表示:模拟用户注册的过程,注册时输入用户名,密码,邮件地址?

要求用户名为4-5个字符,且不能包含同一个字符。
密码至少8位。
验证邮箱是否符合条件,必须有“@”和“.”,且“@”的下标比“.”的小标小
如果输入的内容全部符合要求,则提示“用户注册成功”,其中的“”为用户名输入的用户名

#include <stdio.h>
#include <string.h>

int main()
{
    char username[100]; // 用户名
    char password[100]; // 密码
    char email[100]; // 邮箱
    int i, j; // 循环计数器和标志变量

    // 输入用户名
    printf("请输入用户名(4-5个字符,不能包含同一个字符):");
    scanf("%s", username);

    // 判断用户名是否符合要求
    if (strlen(username) < 4 || strlen(username) > 5) {
        printf("用户名长度不符合要求!\n");
        return 0;
    }
    for (i = 0; i < strlen(username) - 1; i++) {
        for (j = i + 1; j < strlen(username); j++) {
            if (username[i] == username[j]) {
                printf("用户名不能包含同一个字符!\n");
                return 0;
            }
        }
    }

    // 输入密码
    printf("请输入密码(至少8位):");
    scanf("%s", password);

    // 判断密码是否符合要求
    if (strlen(password) < 8) {
        printf("密码长度不符合要求!\n");
        return 0;
    }

    // 输入邮箱
    printf("请输入邮箱:");
    scanf("%s", email);

    // 判断邮箱是否符合要求
    int at_position = -1;
    int dot_position = -1;
    for (i = 0; i < strlen(email); i++) {
        if (email[i] == '@') {
            at_position = i;
        } else if (email[i] == '.') {
            dot_position = i;
        }
    }
    if (at_position < 0 || dot_position < 0) {
        printf("邮箱格式不正确!\n");
        return 0;
    }
    if (at_position > dot_position) {
        printf("邮箱格式不正确!\n");
        return 0;
    }

    // 所有输入符合要求,输出注册成功信息
    printf("%s用户注册成功!\n", username);

    return 0;
}