C语言编写一个程序:邮箱地址合法性校验 输入一个电子邮箱地址字符串,要求检查这个邮箱地址是否合法。如果输入的电子邮箱地址是合法的, 输出字符串"true"; 如果不合法输出字符"false"。 满足如下条件被认为是合法的邮箱地址: 1、仅包含一个"@"字符 2、最后三个字符必须是".com" 3、字符之间没有空格 4、有效字符为1~9、a~z、A~Z、"."、"@"、"_" 输入:字符串 输出:是否是有效邮箱名的结果 样例输入:huawei@huawei.com 样例输出:true
时间: 2024-01-29 21:04:56 浏览: 46
c#判断email地址是否为合法
以下是一个简单的C语言程序,用于验证电子邮件地址的合法性:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char email[100];
int len, i, at_count = 0, dot_count = 0;
printf("请输入电子邮箱地址:");
scanf("%s", email);
len = strlen(email);
if (len < 7 || len > 100) {
printf("false\n");
return 0;
}
for (i = 0; i < len; i++) {
if (!isalnum(email[i]) && email[i] != '.' && email[i] != '@' && email[i] != '_') {
printf("false\n");
return 0;
}
if (email[i] == '@') {
at_count++;
if (i == 0 || i == len - 1 || at_count > 1 || dot_count == 1) {
printf("false\n");
return 0;
}
}
if (email[i] == '.') {
dot_count++;
if (i == len - 1 || dot_count > 1 || at_count != 1) {
printf("false\n");
return 0;
}
}
}
if (strcmp(email + len - 4, ".com") != 0) {
printf("false\n");
return 0;
}
printf("true\n");
return 0;
}
```
程序首先读取输入的电子邮件地址,然后计算该地址的长度,并检查长度是否在7到100个字符之间。如果不是,则该地址无效。
接下来,程序遍历每个字符,并检查每个字符是否有效。有效字符包括字母数字字符、点、@和下划线。如果找到无效字符,则该地址无效。
程序还计算@和.的数量,并检查它们是否处于正确的位置。如果有多个@或.,或者它们出现在错误的位置,或者.不是最后三个字符之一,则该地址无效。
最后,程序检查最后三个字符是否是.com。如果不是,则该地址无效。
如果地址是有效的,程序将输出"true",否则输出"false"。
阅读全文