《华为机试在线训练》之计算字符个数
来源:互联网 发布:标签软件破解版 编辑:程序博客网 时间:2024/05/16 18:37
题目描述
写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
输入描述:
输入一个有字母和数字以及空格组成的字符串,和一个字符。
输出描述:
输出输入字符串中含有该字符的个数。
输入例子:
ABCDEFA
输出例子:
1
解题思路:第一反应就是可以把所有的字母输入都转为小写字母,或者所有的字母输入都转换为大写字母,简单直接,可能执行效率不是最好的,但是算法的思路挺简单的,两个循环就可以搞定,那么怎么实现这个字母转换呢。
这里我提供两种方法:
方法一就是判断所有的字母是否为A到Z之间的,如果是就直接加上'a'-'A',其实就是加上32,使其转换为大写字母,因为我们都知道小写字母的ASCII值比大写字母的大32。如程序中方法一所示的代码。
方法二直接使用string函数库中的处理函数tolower()函数直接处理,简单直接,如代码中的方法二的注释。
代码如下:
#include <iostream>#include <string>using namespace std; int main() { string str1; char str2; getline(cin,str1); cin>>str2; int i, count=0; for(i=0;i<str1.length();i++) { //=============方法二============= // str1[i] = tolower(str1[i]); //=============方法一============= if(str1[i]>='A'&&str1[i]<='Z') str1[i]+=('a'-'A'); else continue; } for(i=0;i<str1.length();i++) { if(str1[i]==str2) count++; } cout << count; return 0; }
阅读全文
2 0
- 《华为机试在线训练》之计算字符个数
- 华为在线训练之计算字符个数
- 《华为机试在线训练》之字符个数统计
- 牛客网华为在线训练---计算字符个数
- 华为在线机试-计算字符个数
- Java - 华为机试训练 - 计算字符个数
- 牛客网几道编程题(二)之华为机试在线训练:计算字符个数、字符串最后一个单词的长度、分隔字符串
- 牛客网华为在线训练---字符个数统计
- 华为机试在线训练-牛客网(7)字符个数统计
- 牛客网三道编程题(三 之华为机试在线训练(二)字符串反转、统计不同字符个数、删除字符串中出现最少的字符
- 华为机试 计算字符个数
- 华为机试,计算字符的个数
- 【华为机试】计算字符个数
- 华为机试在线训练-牛客网(37)计算字符相似度
- 华为机试在线训练-牛客网(37)计算字符相似度
- 《华为机试在线训练》之合唱队
- Java - 华为机试训练 - 字符个数统计
- 《华为机试在线训练》之删除字符串中出现次数最少的字符
- Java数组
- 判断一个数组序列为二叉树的后序遍历序列
- poj 1852
- 逆波兰表达式的产生及计算
- 安卓入门之"搭建Android的开发环境"
- 《华为机试在线训练》之计算字符个数
- 【linux】Linux下几种环境变量的设置
- Windows系统中设置软件的开机自动启动
- 基于Netty与RabbitMQ的消息服务
- Android笔记二:Activity启动模式
- 树
- leetcode116. Populating Next Right Pointers in Each Node
- Numpy掩码式数组
- 传递闭包-HDU1704