我是靠谱客的博主 知性棒棒糖,最近开发中收集的这篇文章主要介绍C语言中计算字符个数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在日常敲代码学习中,我们经常碰到求一串字符中所包含字符的题目,小编也总结了几种求字符个数的方法。

一、求各类字符的数量

思路其实比较简单,就是用c语句分类统计各类字符数量

123cyua zmcaja acaasa}}}[

#include <stdio.h>
int main()
{
    char c;  \定义字符串
    int letters=0,space=0,digit=0,other=0;   \定义字符初始量数量
    while ((c=getchar())!=EOF)  \运用循环语句读到文件结尾截止
    {
    if (c >= 'a'&&c <= 'z' || c >= 'A'&&c <= 'Z') \计算大写字母和小写字符数量
        letters++;
    else if (c == ' ')        \计算空格数量
        space++;
    else if (c >= '0'&&c <= '9')     \计算数字数量
        digit++;
  else
    other++;    \其他字符数量
 }
    printf("%d %d %d %d",letters,space,digit,other);
    return 0;
}

二、统计单词个数

  当c程序中读取一段字符时,计算机并不会像人的大脑一样读取单词计算数量,那将如何让计算机成功统计出单词数量呢?

    因为每个单词的长短不一,字母不一致,计算机是很难判断出输入的字符串是不是单词的,但是,计算机虽然不认识单词,但是可以读取出空格啊。因此,我们可以让计算机读取字符串中的空格,

thank you very much

我们不难看出,字母数=空格数+1 ,因此,可编写c程序

#include <stdio.h>
int main() {
	char a[100];
    int i, in_word, word_num;
    gets(a);
    word_num = 0; // 初始化单词个数为0
    in_word = 0; // 标记位,标记是否在单词内
    for (i = 0; a[i]; i++) {
        if (a[i] == ' ') { // 检测到空格
            in_word = 0; // 设置标记位为不在单词内
        } else if (in_word == 0) { // 在单词内
            word_num++; // 统计单词个数
            in_word = 1; // 设置标记位为在单词内
        }
    }
    printf("%d", word_num);
return 0;
}

 总结:C语言是一种有规律的的语言,运用适当的方法编写程序会让程序更简单,效率更高,如果大家有什么更好的方法,欢迎大家评论指点!

最后

以上就是知性棒棒糖为你收集整理的C语言中计算字符个数的全部内容,希望文章能够帮你解决C语言中计算字符个数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(99)

评论列表共有 0 条评论

立即
投稿
返回
顶部