网站首页 > 基础教程 正文
在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 字符串转换数字)
- 最近发表
-
- 自动脚本操作流程(自动脚本怎么做)
- Ubuntu系统存在严重漏洞,几句命令轻松攻破root权限
- redis实现分布式锁(redis实现分布式锁的原理)
- Linux系统移植之—uboot移植,你们要的uboot终于来了,堪称精品
- powershell 后台运行命令(如何在powershell运行程序)
- 生产环境H200部署DeepSeek 671B 满血版实战(三):SGLang 安装详解
- OpenWrt 小白常用命令大全(openwrt操作命令)
- Linux-shell脚本多线程实现(shell 多线程并发执行)
- Thread.sleep(0):线程休眠0秒有什么意义?
- 40 个简单又有效的 Linux Shell 脚本示例
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- 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)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)