问题描述:输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。
/**
* 统计出英文字母字符的个数。
*
* @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;
}
知识点: 字符串
题目来源: 内部整理
练习阶段: 初级
运行时间限制: 10Sec
内存限制: 128MByte
输入:
输入一行字符串,可以有空格
输出:
统计其中英文字符,空格字符,数字字符,其他字符的个数
样例输入: 1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][
样例输出: 26
3
10
/**
* 统计出英文字母字符的个数。
*
* @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;
}
知识点: 字符串
题目来源: 内部整理
练习阶段: 初级
运行时间限制: 10Sec
内存限制: 128MByte
输入:
输入一行字符串,可以有空格
输出:
统计其中英文字符,空格字符,数字字符,其他字符的个数
样例输入: 1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][
样例输出: 26
3
10
12
代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
getline(cin,s);
//num1表示英文字符,num2空格字符,num3数字字符,othernum其他字符
int num1=0,num2=0,num3=0,othernum=0;
int i=0;
for(i=0;i<s.size();i++)
{
if(isalpha(s[i]))
num1++;
else if(isdigit(s[i]))
num3++;
else if(s[i]==' ')
num2++;
else
othernum++;
}
cout<<num1<<endl;
cout<<num2<<endl;
cout<<num3<<endl;
cout<<othernum<<endl;
return 0;
}
注意函数:
①int isalpha(char ch)
头文件加入<cctype>或者<iostream> (C语言使用<ctype.h>)
判断字符ch是否为英文字母,若为小写字母,返回2,若为大写字母,返回1。若不是字母,返回0。
②int isdigit(char c)
检查参数c是否为阿拉伯数字0到9。
若参数c为阿拉伯数字,则返回TRUE,否则返回NULL(0)。
此为宏定义,非真正函数。