c语言(1) 编写识别函数,该函数识别如下规则的字符串 规则: 1字符串长度在1到7之间; 2必须是英文和数字组成,英文大小写均可; 除编写识别函数外,需要提供对函数验证的主控代码
时间: 2024-10-24 14:04:17 浏览: 31
在C语言中,我们可以编写一个简单的函数`is_valid_string`来验证给定的字符串是否符合规定的规则。首先,我们需要创建一个函数,它接受一个字符数组作为输入,并检查其长度、只包含英文和数字以及是否在指定范围内。
```c
#include <ctype.h>
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
// 函数定义
bool is_valid_string(const char* str) {
// 检查字符串长度
size_t len = strlen(str);
if (len < 1 || len > 7) {
return false;
}
// 遍历字符串,检查每个字符是否为字母或数字
for (size_t i = 0; i < len; i++) {
if (!isalnum(str[i])) {
return false;
}
}
return true;
}
int main() {
const char* test_strings[] = {"abc123", "aBcD456", "", "123456789", "@#%$%", "HelloWorld"};
int num_tests = sizeof(test_strings) / sizeof(test_strings[0]);
for (int i = 0; i < num_tests; i++) {
printf("String '%s': ", test_strings[i]);
if (is_valid_string(test_strings[i])) {
printf("Valid\n");
} else {
printf("Invalid\n");
}
}
return 0;
}
```
在这个程序中,`is_valid_string`函数通过`strlen`获取字符串长度并检查是否在1到7之间,然后使用`isalnum`函数检查每个字符是否为字母或数字。`main`函数包含了几个测试字符串,并打印出它们是否有效。
阅读全文