解析如何利用switch语句进行字符统计

 更新时间:2013年06月25日 10:58:50   作者:  
本篇文章是对如何利用switch语句进行字符统计的方法进行了详细的分析介绍,需要的朋友参考下
复制代码 代码如下:

#include <stdio.h>
void cotTime();
main()
{
   cotTime();
}
void cotTime()
{
  int c, i, nwhite, nother, ndigit[10];
  nwhite = nother = 0;
  for(i=0;i<10;i++)
  {
    ndigit[i] = 0;
  }
  while((c = getchar()) != EOF)
  {
    switch(c)
 {
    case '0': case '1': case '2': case '3': case '4':
    case '5': case '6': case '7': case '8': case '9':
    /*一种哈希的思想,从观察数组元素值为多少的方法中确定某一数字出现的次数
      可以演变为一种较快地去重算法,不用先排序后去重,牺牲了空间性能,但是提高了时间性能*/
    ndigit[c-'0'] += 1;
    break;

    case ' ': case '/t': case '/n':
    nwhite++; break;

    default:
    nother++;
    break;
 }
  }
  printf("digits = ");
  for(i=0;i<10;i++)
  {
    printf(" %d",ndigit[i]);
  }
  printf(", white space = %d, other = %d/n", nwhite, nother);
  return 0;
}

相关文章

  • C语言基于循环链表解决约瑟夫环问题的方法示例

    C语言基于循环链表解决约瑟夫环问题的方法示例

    这篇文章主要介绍了C语言基于循环链表解决约瑟夫环问题的方法,简单描述了约瑟夫环问题并结合实例形式分析了C语言使用循环链表解决约瑟夫环问题的具体操作技巧,需要的朋友可以参考下
    2018-01-01
  • C语言计算大数相加的方法

    C语言计算大数相加的方法

    这篇文章主要为大家详细介绍了C语言计算大数相加的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • 如何用c++表驱动替换if/else和switch/case语句

    如何用c++表驱动替换if/else和switch/case语句

    本文将介绍使用表驱动法,替换复杂的if/else和switch/case语句,想了解详细内容,请看下文
    2021-08-08
  • C++ 函数指针的实现

    C++ 函数指针的实现

    本文主要介绍了C++ 函数指针的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • C语言切割多层字符串(strtok_r strtok使用方法)

    C语言切割多层字符串(strtok_r strtok使用方法)

    这篇文章主要介绍了C语言切割多层字符串的方法,说了strtok的弱点,使用strtok_r的方法
    2013-11-11
  • C++实现LeetCode(90.子集合之二)

    C++实现LeetCode(90.子集合之二)

    这篇文章主要介绍了C++实现LeetCode(90.子集合之二),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++实现双向冒泡排序算法

    C++实现双向冒泡排序算法

    这篇文章主要为大家详细介绍了C++实现双向冒泡排序算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C语言字符串函数与内存函数精讲

    C语言字符串函数与内存函数精讲

    这篇文章主要介绍一些c语言中常用字符串函数和内存函数的使用,并且为了帮助读者理解和使用,也都模拟实现了他们的代码,需要的朋友可以参考一下
    2022-04-04
  • C++ Boost Spirit精通教程

    C++ Boost Spirit精通教程

    Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称
    2022-11-11
  • C#中委托的基本用法总结

    C#中委托的基本用法总结

    以下是对C#中委托的基本用法进行了详细的总结分析,需要的朋友可以过来参考下。希望对大家有所帮助
    2013-09-09

最新评论