专业编程基础技术教程

网站首页 > 基础教程 正文

C语言 统计字符串中数组、字母、符号、空格出现的数量

ccvgpt 2025-04-06 14:12:30 基础教程 6 ℃

在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;
}

代码说明

  1. 字符分类函数
  • isdigit():判断字符是否为数字(0-9)。
  • isalpha():判断字符是否为字母(a-z, A-Z)。
  • isspace():判断字符是否为空白字符(空格、制表符、换行符等)。
  1. 统计逻辑
  • 遍历字符串中的每个字符,使用上述函数判断字符的类型,并更新对应的计数器。
  1. 输出结果
  • 打印字符串中数字、字母、空格和符号的数量。

输出结果

运行上述代码后,输出如下:

C语言 统计字符串中数组、字母、符号、空格出现的数量

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);

注意事项

  1. 字符编码
  • 上述代码假设字符编码为 ASCII。如果使用其他编码(如 UTF-8),需要额外处理多字节字符。
  1. 符号的定义
  • 符号的定义可以根据需求调整。例如,如果需要将标点符号和特殊符号分开统计,可以进一步细化逻辑。
  1. 字符串长度
  • 使用 strlen() 函数可以获取字符串的长度,但在这个例子中,我们直接通过遍历直到遇到 \0 来结束循环。

通过这些方法,可以轻松统计字符串中数字、字母、符号和空格的数量。

最近发表
标签列表