在C语言中,统计标点符号的数量可以通过遍历字符串并检查每个字符是否为标点符号来实现,以下是一个简单的示例,展示了如何统计一个字符串中各种标点符号的数量:
![c语言怎么统计标点符号](https://www.kdun.com/ask/wp-content/themes/justnews/themer/assets/images/lazy.png)
(图片来源网络,侵删)
1、我们需要包含头文件stdio.h
和string.h
,以便使用输入输出函数和字符串处理函数。
#include <stdio.h> #include <string.h>
2、接下来,我们定义一个数组来存储各种标点符号的计数器,这里我们考虑了英文字母、数字、空格以及常见的标点符号。
const char punctuation_chars[] = "!"#$%&'()*+,./:;<=>?@[\]^_`{|}~"; int punctuation_count[sizeof(punctuation_chars) 1] = {0};
3、我们编写一个函数count_punctuation
,该函数接受一个字符串作为参数,并返回标点符号的总数量,在这个函数中,我们将遍历字符串中的每个字符,检查它是否为标点符号,并相应地更新计数器。
int count_punctuation(const char *str) { int count = 0; for (int i = 0; str[i] != ' '; i++) { for (int j = 0; punctuation_chars[j] != '0'; j++) { if (str[i] == punctuation_chars[j]) { punctuation_count[j]++; count++; } } } return count; }
4、现在,我们可以在main
函数中使用count_punctuation
函数来计算给定字符串中标点符号的数量,我们可以从用户那里获取一个字符串,然后调用count_punctuation
函数来计算标点符号的数量,我们将结果打印到屏幕上。
int main() { char input_str[100]; printf("请输入一个字符串:"); fgets(input_str, sizeof(input_str), stdin); int punctuation_count = count_punctuation(input_str); printf("字符串中的标点符号数量为:%d ", punctuation_count); return 0; }
将以上代码片段组合在一起,完整的C语言程序如下:
#include <stdio.h> #include <string.h> const char punctuation_chars[] = "!"#$%&'()*+,./:;<=>?@[]^_`{|}~"; int punctuation_count[sizeof(punctuation_chars) 1] = {0}; int count_punctuation(const char *str) { int count = 0; for (int i = 0; str[i] != ' '; i++) { for (int j = 0; punctuation_chars[j] != ' '; j++) { if (str[i] == punctuation_chars[j]) { punctuation_count[j]++; count++; } } } return count; } int main() { char input_str[100]; printf("请输入一个字符串:"); fgets(input_str, sizeof(input_str), stdin); int punctuation_count = count_punctuation(input_str); printf("字符串中的标点符号数量为:%d ", punctuation_count); return 0; }
这个程序首先定义了一个包含常见标点符号的字符数组punctuation_chars
和一个用于存储计数器的整数数组punctuation_count
,它定义了一个名为count_punctuation
的函数,该函数接受一个字符串作为参数,并返回标点符号的总数量,在main
函数中,我们从用户那里获取一个字符串,然后调用count_punctuation
函数来计算标点符号的数量,我们将结果打印到屏幕上。
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/373651.html