【华为OJ平台练习题】统计一段字符串中含有空格、英文、数字的个数

//统计一段字符串中含有空格、英文、数字的个数

#include <iostream>

using namespace std;

void processString(char* s)
{
	int n = strlen(s);
	int kg=0;
		int shuzi=0;
		int yingwen=0;
	if(n>0)
		{
			for(int a=0;a<n;a++)
			{
				if(s[a]==' ')
					kg++;
				if(s[a]<='9'&&s[a]>='0')
					shuzi++;
				if(s[a]<='z'&&s[a]>='a')
					yingwen++;
				if(s[a]<='Z'&&s[a]>='A')
					yingwen++;
			}
	cout<<s<<"含有空格个数为:"<<kg<<endl;
	cout<<s<<"含有数字个数为:"<<shuzi<<endl;
	cout<<s<<"含有英文个数为:"<<yingwen<<endl;
	}
}

int main()
{
	char s[100];
	cout<<"请输入一个字符串:";
	cin.getline(s,100);
	processString(s);
	return 0;
}

效果如图:在字符串末尾的空格也能识别出来。

需要注意的地方:输入字符串不能使用Cin>>,因为遇到空格会自动截取。

要用cin.Getline()函数,整行读取。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-03 07:02:51

【华为OJ平台练习题】统计一段字符串中含有空格、英文、数字的个数的相关文章

华为OJ在线软件训练题——删除字符串中出现次数最少的字符(中级)

删除字符串中出现次数最少的字符 描述: 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除. 输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序. 题目类别: 字符串 难度: 中级 分数:   运行时间限制: 10 Sec 内存限制: 128 MByte 阶段: 招聘管理 输入: 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节. 输出: 删除字符串中出现次数最少的字符后的字符串. 样例输入: abcdd 样例输出: dd 对于此类题目,简

【华为OJ平台练习题】求最大公共子串的个数和元素

1.原题是求出最大公共子串的个数即可 原理:利用二维矩阵排列的方式,将俩字符串进行比较 #include <iostream> #include <vector> using namespace std; int prcs_2Strs(const char* s1,const char* s2) { int maxSameLength = 0; int L1 = strlen(s1); int L2 = strlen(s2); if(L1==0 || L2==0) //判断字符串是

【华为OJ平台练习题】Ascii码排序

//描述 //Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好.请大家给Lily帮忙,通过C语言解决. // // //知识点 字符串 //运行时间限制 0M //内存限制 0 //输入 //Lily使用的图片包括"A"到"Z"."a"到"z"."0"到"9".输入字母或数字个数不超过1024. // // //输出 /

【华为OJ平台练习题】求最后一个单词长度

//描述 //计算字符串最后一个单词的长度,单词以空格隔开. //知识点 字符串,循环 //运行时间限制 0M //内存限制 0 //输入 //一行字符串,长度小于128. //输出 //整数N,最后一个单词的长度. //样例输入 hello world //样例输出 5 #include <iostream> using namespace std; int countLastWordLength(char *s) { int counter=0; int lg = strlen(s); f

【华为OJ平台练习题】

/* 描述: 输入整型数组和排序标识,对其元素按照升序或降序进行排序 接口说明 原型: void sortIntegerArray(Integer[] pIntegerArray, int iSortFlag); 输入参数: Integer[] pIntegerArray:整型数组 int iSortFlag:排序标识:0表示按升序,1表示按降序 输出参数: 无 返回值: void 输入 1.输入需要输入的整型数个数 2.输入数组组 3.输入排序标识 输出 输出排好序的数字 最后一个无空格 如下

js统计一段字符串中出现次数最多的字符

var str = 'ksfksjdfsfjlds;fjdssllllljjjjjsdsfdhhh'; // 将字符串转化为数组 var arr = str.split(''); // reduce传入的函数作为累加器,数组中的每个值从左到右依次缩减,直至计算到最后一个值 // 利用reduce的特性可以将数组中的每个元素以key/value的形式存入一个对象中,然后遍历对象找出value最大值 var obj = arr.reduce(function(pre,cur) { if (cur i

统计一段文字中数组、中文、英文字母、空格以及其他特殊字符出现的次数

package util; public class CountStr { /** * 有一个字符串,其中包含中文字符.英文字符和数字字符,请统计和打印出各个字符的个数 * 短信发送平台,短信字数控制查询方法 */ public static void main(String[] args) { //String str = "adasf AAADFD我是中文,,>123"; //String str = "金马甲高端商品交易平台--2013全城热恋克拉钻石项目预售,1

iOS开发之获取一段字符串中的中文字和中文字符

#pragma mark -获取一段字符串中的中文字 + (NSArray *)getAStringOfChineseWord:(NSString *)string { if (string == nil || [string isEqual:@""]) { return nil; } NSMutableArray *arr = [[NSMutableArray alloc]init]; for (int i=0; i<[string length]; i++) { int a

C语言K&R习题系列——统计一段文字中各个字母出现的频率

原题: /*Write a program to print a histogram of the frequencies of *difficent characters in it inputs */ 这个和上一个类似 输入部分 #include < stdio.h >    #define NUM_CHARS 256    main ( void )  { int c; int done = 0; int thisIdx = 0; long frequrr[NUM_CHARS + 1];