您的位置:首页 > 编程语言 > C语言/C++

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

2016-07-03 20:18 477 查看
输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数

题目描述

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

/**

* 统计出英文字母字符的个数。

*

* @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;

}

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

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

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

[b]输出例子:[/b]
26
3
10
12
解答代码:

#include<iostream>
#include<fstream>
#include<string>
#include<cstring>
#include<cctype>
#include<algorithm>
#include<cstdlib>
using namespace std;

int main()
{
//freopen("input.txt","r",stdin);
int countEnglish=0,countSpace=0,countData=0,countOther=0;
char s[1024];
int i=0;
while(cin.getline(s,1024))
{
countEnglish=0,countSpace=0,countData=0,countOther=0;
int length=strlen(s);
for(i=0; i<length; i++)
{
if(isalpha(s[i]))
countEnglish++;
else if(isdigit(s[i]))
countData++;
else if(s[i]==' ')
countSpace++;
else
countOther++;
}
cout<<countEnglish<<endl<<countSpace<<endl<<countData<<endl<<countOther<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ C语言 OJ 华为 算法