网站首页 > 基础教程 正文
在C语言中,可以通过遍历字符串中的每个字符,并根据字符的类型(数字、字母、符号、空格)进行分类统计。以下是一个完整的示例代码,展示如何统计字符串中数字、字母、符号和空格的数量。
代码实现
#include
#include // 包含 isdigit, isalpha, isspace 函数
#include // 包含 strlen 函数
int main() {
char str[] = "Hello, World! 123 #$%";
int digit_count = 0; // 数字数量
int alpha_count = 0; // 字母数量
int space_count = 0; // 空格数量
int symbol_count = 0; // 符号数量
// 遍历字符串中的每个字符
for (int i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) {
digit_count++; // 统计数字
} else if (isalpha(str[i])) {
alpha_count++; // 统计字母
} else if (isspace(str[i])) {
space_count++; // 统计空格
} else {
symbol_count++; // 统计符号
}
}
// 输出统计结果
printf("Original string: %s\n", str);
printf("Digits: %d\n", digit_count);
printf("Letters: %d\n", alpha_count);
printf("Spaces: %d\n", space_count);
printf("Symbols: %d\n", symbol_count);
return 0;
}
代码说明
- 字符分类函数:
- isdigit():判断字符是否为数字(0-9)。
- isalpha():判断字符是否为字母(a-z, A-Z)。
- isspace():判断字符是否为空白字符(空格、制表符、换行符等)。
- 统计逻辑:
- 遍历字符串中的每个字符,使用上述函数判断字符的类型,并更新对应的计数器。
- 输出结果:
- 打印字符串中数字、字母、空格和符号的数量。
输出结果
运行上述代码后,输出如下:
Original string: Hello, World! 123 #$%
Digits: 3
Letters: 10
Spaces: 3
Symbols: 5
示例分析
对于字符串 "Hello, World! 123 #$%":
- 数字:1, 2, 3 → 共 3 个。
- 字母:H, e, l, l, o, W, o, r, l, d → 共 10 个。
- 空格: (空格字符)→ 共 3 个。
- 符号:,, !, #, $, % → 共 5 个。
扩展功能
如果需要更详细的统计(例如区分大小写字母),可以修改代码。例如:
int upper_count = 0; // 大写字母数量
int lower_count = 0; // 小写字母数量
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
upper_count++; // 统计大写字母
} else if (islower(str[i])) {
lower_count++; // 统计小写字母
}
}
printf("Uppercase letters: %d\n", upper_count);
printf("Lowercase letters: %d\n", lower_count);
注意事项
- 字符编码:
- 上述代码假设字符编码为 ASCII。如果使用其他编码(如 UTF-8),需要额外处理多字节字符。
- 符号的定义:
- 符号的定义可以根据需求调整。例如,如果需要将标点符号和特殊符号分开统计,可以进一步细化逻辑。
- 字符串长度:
- 使用 strlen() 函数可以获取字符串的长度,但在这个例子中,我们直接通过遍历直到遇到 \0 来结束循环。
通过这些方法,可以轻松统计字符串中数字、字母、符号和空格的数量。
猜你喜欢
- 2025-04-06 核对2列数据是否一致?这6种方法,总有一个适合你
- 2025-04-06 c语言判断回文数字(c语言如何判断回文数字)
- 2025-04-06 文字数字混合字符串如何分别提取文字和数字,10种方法汇集
- 2025-04-06 js数字(Number)方法汇总(js中的number函数)
- 2025-04-06 数据取整,获取字符串前数字另辟蹊径之LOOKUP
- 2025-04-06 Excel 如何判断某单元格里是否包含某个字符
- 2025-04-06 (每天一道C语言)||统计字符串中的数字字符并作为整数输出
- 2025-04-06 如何判断 Excel 每个单元格中是否包含某个字?
- 2025-04-06 有很多人问我,怎么来对比这个单元格是否包含某个字符
- 2025-04-06 js怎么将数字字符串转化为数字(js 字符串转换数字)
- 最近发表
- 标签列表
-
- 菜鸟教程 (58)
- jsp (69)
- c++教程 (58)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)