c语言怎么统计符号个数

在C语言中,统计符号个数可以通过遍历字符串的方式实现,以下是一个简单的示例,用于统计给定字符串中的各种符号(包括字母、数字、空格、标点符号等)的个数。

c语言怎么统计符号个数
(图片来源网络,侵删)

我们需要了解C语言中的字符类型,在C语言中,字符类型使用char关键字表示,它可以存储一个ASCII字符,ASCII字符集包含了英文字母、数字、标点符号等常见的符号。

接下来,我们可以使用一个数组来存储各种符号的计数器,数组的索引表示符号的类型,例如0表示空格,1表示字母,2表示数字,以此类推,数组的值表示该类型的符号在字符串中出现的次数。

为了遍历字符串并统计符号个数,我们可以使用一个循环,循环从字符串的第一个字符开始,逐个检查每个字符的类型,并将其对应的计数器加1,当循环结束时,数组中的值就是各种符号的个数。

下面是一个完整的C语言程序,用于统计给定字符串中的各种符号的个数:

#include <stdio.h>
#include <string.h>
int main() {
    char str[] = "Hello, World! 123"; // 输入字符串
    int count[32] = {0}; // 初始化计数器数组
    int len = strlen(str); // 获取字符串长度
    // 遍历字符串并统计符号个数
    for (int i = 0; i < len; i++) {
        char ch = str[i];
        if (ch >= ' ') { // 判断是否为空格或标点符号
            count[ch ' ']++; // 将对应的计数器加1
        } else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) { // 判断是否为字母
            count[ch 'a']++; // 将对应的计数器加1
        } else if (ch >= '0' && ch <= '9') { // 判断是否为数字
            count[ch '0' + 26]++; // 将对应的计数器加1
        }
    }
    // 输出结果
    printf("Spaces: %d
", count[0]);
    printf("Letters: %d
", count[1]);
    printf("Numbers: %d
", count[2]);
    printf("Punctuation: %d
", count[3]);
    printf("Others: %d
", count[4]);
    return 0;
}

在这个程序中,我们首先定义了一个字符串str和一个计数器数组count,我们使用strlen函数获取字符串的长度,并使用一个循环遍历字符串中的每个字符,在循环中,我们使用条件语句判断字符的类型,并将其对应的计数器加1,我们输出各种符号的个数。

需要注意的是,这个程序只统计了空格、字母、数字和标点符号这四种类型的符号,如果需要统计其他类型的符号,可以在计数器数组中添加相应的索引,并在条件语句中添加相应的判断条件,这个程序假设输入的字符串只包含ASCII字符,如果需要处理非ASCII字符,可以使用宽字符类型wchar_t和相关的库函数。

原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/379502.html

(0)
酷盾叔订阅
上一篇 2024-03-23 14:30
下一篇 2024-03-23 14:31

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入