题目
描述
输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。
/**
* 统计出英文字母字符的个数。
*
* @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 |
思路
利用现有的函数可以很快做出判断,只需要把字符串进行收入然后做相应的判断即可。
在处理其他字符的个数时可以利用已知的信息。(但是这样在正常的写代码过程中会存在bug)
代码
#include<iostream>
#include<string>
using namespace std;
static int counterChar=0;
static int counterDigital=0;
static int counterBlank=0;
static int counterOther=0;
/**
* 统计出英文字母字符的个数。
* @param str 需要输入的字符串
* @return 英文字母的个数
*/
static int getEnglishCharCount(string str)
{
counterChar=0;
for(int i=0;i<str.length();++i){
if(islower(str[i])||isupper(str[i])){
counterChar++;
}
}
return counterChar;
}
/**
* 统计出空格字符的个数。
*
* @param str 需要输入的字符串
* @return 空格的个数
*/
static int getBlankCharCount(string str)
{
counterBlank=0;
for(int i=0;i<str.length();++i){
if(str[i]==' '){
counterBlank++;
}
}
return counterBlank;
}
/**
* 统计出数字字符的个数。
* @param str 需要输入的字符串
* @return 英文字母的个数
*/
static int getNumberCharCount(string str)
{
counterDigital=0;
for(int i=0;i<str.length();++i){
if(isdigit(str[i])){
counterDigital++;
}
}
return counterDigital;
}
/**
* 统计出其它字符的个数。
* @param str 需要输入的字符串
* @return 英文字母的个数
*/
static int getOtherCharCount(string str)
{
counterOther=str.length()-counterBlank-counterChar-counterDigital;
return counterOther;
}
int main()
{
string inputStr ="";
getline(cin,inputStr);
cout<<getEnglishCharCount(inputStr)<<endl;
cout<<getBlankCharCount(inputStr)<<endl;
cout<<getNumberCharCount(inputStr)<<endl;
cout<<getOtherCharCount(inputStr)<<endl;
return 0;
}
很喜欢这部电影!!!!!手动点赞