华为机试https://www.nowcoder.com/exam/oj/ta?tpId=37
HJ1 字符串最后一个单词的长度
描述:
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例1
输入:hello nowcoder
输出:8
说明:最后一个单词为nowcoder,长度为8
代码实现
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
getline(cin, s);
int ans = 0;
int i = s.length() -1;
while (i >= 0 && s[i] != ' '){
i--;
ans++;
}
cout << ans;
return 0;
}
// 64 位输出请用 printf("%lld")
说明:getline(cin,s) //接受一个字符串,可以接受空格并输出,必须包含头文件#include<cstring>或#include<string>, s必须为字符串类型,即 string s;输出时需要按两次回车键才能显示,第一次按回车表示字符串结束,第二次按回车才开始输出。
C++ string成员函数 length() 等同于 size()
如下函数的声明:
//返回string 长度,单位字节
size_t length() const noexcept;
//返回string 长度,单位字节。作用等同于length()
size_t size() const noexcept;
HJ2 计算某字符出现次数
描述:
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围: 1≤n≤1000
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)
示例1
输入:
ABCabc
A
输出:2
代码实现
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
getline(cin, s);
char c;
c = tolower(getchar());
int res = 0;
for (int i = 0; i < s.size(); i++) {
if (tolower(s[i]) == c) {
res++;
}
}
cout << res;
return 0;
}
C/C++库函数(tolower/toupper)实现字母的大小写转换
1 int tolower(int c)
该函数把大写字母转换为小写字母。
2 int toupper(int c)
该函数把小写字母转换为大写字母。
网友评论