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

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

(0)

相关推荐

  • C++统计软件使用时间代码示例

    复制代码 代码如下: // FileName: UseSoftTime.h #pragma once #include <vector> struct UseTime{    // 开始时间    SYSTEMTIME startTime; // 结束时间    SYSTEMTIME endTime; // 时间差    SYSTEMTIME subTime;}; struct UseSoftInfo{    // 软件名    CString SoftName; // 软件启动时间;如果在打

  • C++实现第K顺序统计量的求解方法

    一个n个元素组成的集合中,第K个顺序统计量(Order Statistic)指的是该集合中第K小的元素,我们这里要讨论的是如何在线性时间(linear time)里找出一个数组的第K个顺序统计量.该问题的算法对于C++程序员来说有一定的借鉴价值.具体如下: 一.问题描述: 问题:给定一个含有n个元素的无序数组,找出第k小的元素. k = 1 :最小值 k = n :最大值 k = ⌊(n+1)/2⌋ or ⌈(n+1)/2⌉ :中位数 找最大值或最小值很简单,只需要遍历一次数组并记录下最大值或最

  • C语言实现统计字符串单词数

    字符串单词数.c #include<stdio.h> #define BUFFERSIZE 1024 int main() { char string[BUFFERSIZE]; int i,count=0,word=0; char c; gets(string) ; for(i=0;(c=string[i])!='\0';i++) { if(c==' ') word=0; else if(word==0) { word=1; count++; } } printf("%d \n&qu

  • C语言编程中统计输入的行数以及单词个数的方法

    统计输入的行数 标准库保证输入文本流以行序列的形式出现,每一行均以换行符结束.因此,统计行数等价于统计换行符的个数. #include <stdio.h> /* count lines in input */ main() { int c, nl; nl = 0; while ((c = getchar()) != EOF) if (c == '\n') ++nl; printf("%d\n", nl); } 在该程序中,while 循环语句的循环体是一个 if 语句,它控

  • C语言实现的统计素数并求和代码分享

    题目来源于PAT平台,此题又是费了一番脑子.题目要求输出给定区间内的素数个数并对他们求和.具体思路是利用循环判断素数,将结果传递给控制变量,由控制变量再来判断是否执行自增以及求和.当然这里必须要注意1既不是素数也不是合数. 下面是代码: 复制代码 代码如下: #include <stdio.h> int main () {  int a=0,b=0;  int n=0,sum=0;  int x=0,i=0;  scanf("%d %d",&a,&b);  

  • C++统计中英文大小写字母、数字、空格及其他字符个数的方法

    本文实例讲述了C++统计中英文大小写字母.数字.空格及其他字符个数的方法.分享给大家供大家参考,具体如下: /* * 作 者: 刘同宾 * 完成日期:2012 年 11 月 28 日 * 版 本 号:v1.0 * 输入描述: * 问题描述: 有一篇文章,共有三行文字,每行有80个字符.要求分别统计出其中英文大写字母.小写字母.数字.空格以及其他字符的个数. * 程序输出: * 问题分析:略 * 算法设计:略 */ #include<iostream> using namespace std;

  • C语言实现的统计php代码行数功能源码(支持文件夹、多目录)

    放假在家没事,睡过懒觉,看过电影,就想起来写个小程序. 统计php代码的行数,对于phper还是挺实用的.支持单个文件和目录.下面是代码和演示的例子! /**  * @date     2012-12-1  * @author bright  * @todo     统计php代码行数  */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #inc

  • C语言中使用lex统计文本文件字符数

    我曾经在Linux上写的一个C程序,借助Lex做词法分析来同时统计N个文本文件的字符数,单词数和行数.让我觉得Lex确实挺有意思的.确实Lex的功能非常强大,用来做小巧的词法分析非常适合,也非常好用.这个程序参考了<Lex与Yacc>上的一个例子. %{ unsigned int char_count = 0, word_count = 0, line_count = 0; %} %% [^ /t/n]+ {word_count++; char_count+=yyleng;}; /n {cha

  • Shell脚本实现C语言代码行数统计

    写了一个比较粗糙的C语言代码行数统计脚本,目前还有些bug,而且效率也不高.脚本主要就是去除大部分的注释后统计行数,相当于做了一部分预处理的工作.下面是代码: #!/bin/bash filename=$1 echo "`whoami`" if [ $# -lt 1 ];then echo "usage : ./scripts filename" exit -1 fi if [ ! -f $filename ];then echo "$filename i

  • c++统计文件中字符个数代码汇总

    我们先来看看下面的代码: #include<iostream> #include<fstream> #include<cstdlib> using namespace std; class CntCharacters { private: int cnt; public: CntCharacters():cnt(0){} ~CntCharacters(){} void opentxt(char* p) { ifstream fin; fin.open(p,ios_bas

  • C#统计C、C++及C#程序代码行数的方法

    本文实例讲述了C#统计C.C++及C#程序代码行数的方法.分享给大家供大家参考.具体如下: 本文中的两个函数 1)用于统计扩展名为 .h .c .cpp .cs 文件的代码行数 public static int LinesOfCode(string filename) 2)用于递归统计一个文件夹内所有扩展名为 .h .c .cpp .cs 文件的代码行数 public static int LinesOfFolder(string foldername) 一.什么样的情况算一行代码 需要注意如

随机推荐