输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
题目描述
输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。
/**
* 统计出英文字母字符的个数。
*
* @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<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;
}