zoukankan      html  css  js  c++  java
  • 对wordcount单词字母部分的修改

    原始代码:

    	int s;
    	s = ch;
    	switch (s)
    	{
    	case 'a':letter[0]++; break;
    	case 'b':letter[1]++; break;
    	case 'c':letter[2]++; break;
    	case 'd':letter[3]++; break;
    	case 'e':letter[4]++; break;
    	case 'f':letter[5]++; break;
    	case 'g':letter[6]++; break;
    	case 'h':letter[7]++; break;
    	case 'i':letter[8]++; break;
    	case 'j':letter[9]++; break;
    	case 'k':letter[10]++; break;
    	case 'l':letter[11]++; break;
    	case 'm':letter[12]++; break;
    	case 'n':letter[13]++; break;
    	case 'o':letter[14]++; break;
    	case 'p':letter[15]++; break;
    	case 'q':letter[16]++; break;
    	case 'r':letter[17]++; break;
    	case 's':letter[18]++; break;
    	case 't':letter[19]++; break;
    	case 'u':letter[20]++; break;
    	case 'v':letter[21]++; break;
    	case 'w':letter[22]++; break;
    	case 'x':letter[23]++; break;
    	case 'y':letter[24]++; break;
    	case 'z':letter[25]++; break;
    	case 'A':letter[0]++; break;
    	case 'B':letter[1]++; break;
    	case 'C':letter[2]++; break;
    	case 'D':letter[3]++; break;
    	case 'E':letter[4]++; break;
    	case 'F':letter[5]++; break;
    	case 'G':letter[6]++; break;
    	case 'H':letter[7]++; break;
    	case 'I':letter[8]++; break;
    	case 'J':letter[9]++; break;
    	case 'K':letter[10]++; break;
    	case 'L':letter[11]++; break;
    	case 'M':letter[12]++; break;
    	case 'N':letter[13]++; break;
    	case 'O':letter[14]++; break;
    	case 'P':letter[15]++; break;
    	case 'Q':letter[16]++; break;
    	case 'R':letter[17]++; break;
    	case 'S':letter[18]++; break;
    	case 'T':letter[19]++; break;
    	case 'U':letter[20]++; break;
    	case 'V':letter[21]++; break;
    	case 'W':letter[22]++; break;
    	case 'X':letter[23]++; break;
    	case 'Y':letter[24]++; break;
    	case 'Z':letter[25]++; break;
    	}
    

     开始写时,也觉得这样的表述不够简洁。但由于当时写了好长时间的代码,思路也不是很清晰,就用这种相对来说比较笨的方法。事后也忘记来修改更新这一部分。

    以下是更改后的代码:

    int j;
    	char i;
    	for (i = 'a', j = 0; i <= 'z'; i++, j++)
    	{
    		if (ch == i)
    		{
    			letter[j]++;
    			break;
    		}
    	}
    	for (i = 'A', j = 0; i <= 'z'; i++, j++)
    	{
    		if (ch == i)
    		{
    			letter[j]++;
    			break;
    		}
    	}
    

     使用的是ASCILL码来控制。char型变量i从a开始一直加到z,用来比较字符是否相等。int型变量j从0开始,用来控制对应的数组下标。

    文件输入的路径可能会很长,而我之间数组大小设为20,这是远远不够的,我也对此做出了修改

    char filename[50];
    

     长度改为50。

    新增加模块:字符的分类统计,把字母和符号分开来统计计数。新增函数void Sort(char ch);代码如下:

    void Sort(char ch)
    {
    	if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
    	{
    		chnum++;
    		return;
    	}
    	else
    		signum++;
    }
    

     chnum用来记录字母的数量,signum用来记录符号的数量。初值都为0。

    以上就是我对wordcount的修改,其中还是存在很多的不足,希望大家多提宝贵意见。特别要感谢邹欣老师阅读我的博客,并且提出宝贵的意见。让我能使我的程序更加优化。

  • 相关阅读:
    js 改变颜色值
    React之使用Context跨组件树传递数据
    App.js实现使用js开发app的应用,此文是中文文档
    转: CSS3 @media 用法总结
    转: 如何用手机访问电脑本地 localhost 网页或者服务器, 以调试web项目
    js 替换字符串中所有匹配的字符
    转:display:flex不兼容Android、Safari低版本的解决方案 【flex布局】
    转:HTML5页面如何在手机端浏览器调用相机、相册功能
    文本相似度度量
    idea中maven中jdk版本的选择(转)
  • 原文地址:https://www.cnblogs.com/mww123/p/5349147.html
Copyright © 2011-2022 走看看