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

发布时间 2024-01-10 12:06:12作者: 首心

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

数据范围: 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输入时,遇到空格或者换行都会停止。