nosilence 发表于 2017-7-10 21:22:58

[华为]输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数

  链接:https://www.nowcoder.com/questionTerminal/539054b4c33b4776bc350155f7abd8f5
来源:牛客网


  输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。
  /**
   * 统计出英文字母字符的个数。
   *
   * @param str 需要输入的字符串
   * @return 英文字母的个数
   */
    public static int getEnglishCharCount(String str)
    {
      return 0;
    }
   
    /**
   * 统计出空格字符的个数。
   *
   * @param str 需要输入的字符串
   * @return 空格的个数
   */
    public static int getBlankCharCount(String str)
    {
      return 0;
    }
   
    /**
   * 统计出数字字符的个数。
   *
   * @param str 需要输入的字符串
   * @return 英文字母的个数
   */
    public static int getNumberCharCount(String str)
    {
      return 0;
    }
   
    /**
   * 统计出其它字符的个数。
   *
   * @param str 需要输入的字符串
   * @return 英文字母的个数
   */
    public static int getOtherCharCount(String str)
    {
      return 0;
    }

输入描述:输入一行字符串,可以有空格

输出描述:统计其中英文字符,空格字符,数字字符,其他字符的个数

输入例子:1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][

输出例子:

26
3
10
12


#include<iostream>
#include<string>
using namespace std;
int main()
{   
   string s;   
   while(getline(cin,s))
   {      
            int EnglishCharCount =0;      
            int BlankCharCount = 0;      
            int NumberCharCount = 0;      
            int OtherCharCount =0;                        
            int length = s.size();      
            for(int i =0;i<length;++i)
            {         
               char cur = (char)s;            
               if((cur >= 'a' && cur <='z') || (cur>= 'A' && cur<= 'Z'))               
             ++EnglishCharCount;         
        else if(cur == ' ')               
          ++BlankCharCount;         
          else if((cur>='0'&&cur<='9'))            
           ++NumberCharCount;         
         else               
            ++OtherCharCount;      
        }               
      cout<<EnglishCharCount<<endl<<BlankCharCount<<endl<<NumberCharCount<<endl<<OtherCharCount<<endl;   
  }      
return 0;   
 }
页: [1]
查看完整版本: [华为]输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数