写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

数据范围: 1 \le n \le 1000 \1≤n≤1000
输入描述:
第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。

输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)

点击查看代码
#include <iostream>
#include <string>
#include <cctype>
#include <algorithm>
using namespace std;
 
int main(){
    string s;
    getline(cin, s);
    char c;
    cin>>c;
    c=tolower(c);
    transform(s.begin(), s.end(), s.begin(), ::tolower);
    int count=0;
    for(int i=0;i<s.size();i++){
        if(s[i]==c) count++;
    }
    cout<<count;
    return 0;
}

transform()函数在algorithm库中,它的作用是将数据类型转化为另一种数据类型,transform()中有四个参数,前两个是未转化数据起点和终点,第三个是需要转化的数据起点,第四个参数是数据转化后的类型对应的操作

getline()输入会读进一行字符串,遇到换行符才停止;如果只是使用cin输入时,遇到空格或者换行都会停止。

posted @   首心  阅读(195)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示