解析如何利用switch语句进行字符统计
2014-09-05来源:易贤网

#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;

}

更多信息请查看IT技术专栏

2026公务员·事业单位培训课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
推荐信息