C语言统计字符个数代码分享

 更新时间:2015年07月08日 09:24:51   投稿:hebedich  
本文给大家分享的是2则C语言实现统计字符个数的代码,非常的简单实用,小伙伴们根据自己的项目需求自由选择吧。

C语言实现统计字符个数

#include<stdio.h>
int main()
{
  int sz[10]={0},zm[26]={0},z[26]={0},i,space=0,e=0,t=0;
  char c;
  printf("请输入一段字符,统计其中各字符的数量\n");
  while((c=getchar())!='\n')
  {
    if(c<='z'&&c>='a')
      zm[c-'a']++;
    else if(c<='Z'&&c>='A')
      z[c-'A']++;
    else if(c<='9'&&c>='0')
      sz[c-'0']++;
    else if(c==' ')
      space++;
    else
      e++;
  }
  printf("\n\n");
  for(i=0;i<=9;i++)
  {
    t++;
    printf(" %d的个数为%d  ",i,sz[i]);
    if(t%3==0)
      printf("\n");
  }
  t=0;
  printf("\n\n\n");
  for(i=0;i<=25;i++)
  {
    t++;
    printf(" %c的个数为%d  ",i+97,zm[i]);
    if(t%3==0)
      printf("\n");
  }
  t=0;
  printf("\n\n\n");
  for(i=0;i<=25;i++)
  {
    t++;
    printf(" %c的个数为%d  ",i+65,z[i]);
    if(t%3==0)
      printf("\n");
  }
  t=0;
  printf("\n\n\n");
  printf(" 空格的个数为%d\n\n",space);
  printf(" 其他字符的个数为%d\n",e);
  return 0;
}

再来一则C语言统计输入字符个数的代码

#include <stdio.h>

#define MAXWORD 30  //单词的最大长度
#define IN 1  //在单词内,即没有遇到空格
#define OUT 0  //在单词外,即遇到了空格

/*word length ==> wl单词长度简称*/

int wl()
{
  char c;
  int i;
  int nc;
  int state;  //state为单词的状态:IN或OUT;
  int overflow;  //操过MAXWORD的单词个数
  int wl[MAXWORD]; //长度为1~30的的字符长度统计

  state = OUT;
  nc = 0;
  overflow = 0;

  for(i = 1; i < MAXWORD; ++i)
    wl[i] = 0;

  while((c = getchar()) != EOF)
    if(c == ' ' || c == '\n' || c == '\t')
    {
      state = OUT;

      if(nc > 0)
        if(nc < MAXWORD)
          ++wl[nc];
        else
          ++overflow;
      nc = 0;
    }
    else if(state == OUT)
    {
      state = IN;
      nc = 1;
    }
    else
      ++nc;


    for(i = 1; i < MAXWORD; ++i)
      printf("长度为:%d的单词个数为:%d : \n\n", i, wl[i]);

      return 0;
}
main()
{
  wl();
}

以上所述就是本文的全部内容了,希望大家能够喜欢

相关文章

  • C指针原理教程之C内嵌汇编

    C指针原理教程之C内嵌汇编

    在学习 C 语言内嵌汇编的实验过程中,发现内嵌汇编极容易造成段错误。
    2019-02-02
  • C语言详解热门考点结构体内存对齐

    C语言详解热门考点结构体内存对齐

    C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许你存储不同类型的数据项,本篇让我们来了解C 的结构体内存对齐
    2022-04-04
  • C语言中快速排序和插入排序优化的实现

    C语言中快速排序和插入排序优化的实现

    这篇文章主要介绍了C语言中快速排序和插入排序优化的实现,包括双向划分快速排序方法的介绍,需要的朋友可以参考下
    2015-11-11
  • C++中rapidjson将map转为json的方法

    C++中rapidjson将map转为json的方法

    今天小编就为大家分享一篇关于C++中rapidjson将map转为json的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • c_str()的用法详细解析

    c_str()的用法详细解析

    c_str()就是把string类对象转换成和c兼容的char *类型。这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式
    2013-09-09
  • C/C++堆区专篇精讲

    C/C++堆区专篇精讲

    一直以来总是对这个问题的认识比较朦胧,我相信很多朋友也是这样的,总是听到内存一会在栈上分配,一会又在堆上分配,那么它们之间到底是怎么的区别呢,让我们一起来看看
    2022-10-10
  • visual studio 2013中配置opencv图文教程 Opencv2.4.9安装配置教程

    visual studio 2013中配置opencv图文教程 Opencv2.4.9安装配置教程

    这篇文章主要为大家详细介绍了Opencv2.4.9安装教程,以及在visualstudio 2013中opencv的配置步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 详解VS2019+OpenCV-4-1-0+OpenCV-contrib-4-1-0

    详解VS2019+OpenCV-4-1-0+OpenCV-contrib-4-1-0

    这篇文章主要介绍了详解VS2019+OpenCV-4-1-0+OpenCV-contrib-4-1-0,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 解决scanf_s输入%d%c%d格式错误的问题

    解决scanf_s输入%d%c%d格式错误的问题

    这篇文章主要介绍了解决scanf_s输入%d%c%d格式错误的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 带你粗略了解C++中的深浅拷贝

    带你粗略了解C++中的深浅拷贝

    这篇文章主要给大家介绍了关于c++中深浅拷贝以及写时拷贝实现的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧
    2021-08-08

最新评论