嚴正聲明:本文系作者davidhopper原創,未經許可,不得轉載。
問題描述
寫出一個程序,接受一個由字母和數字組成的字符串,和一個字符,然後輸出輸入字符串中含有該字符的個數。不區分大小寫。
輸入描述
第一行輸入一個有字母和數字以及空格組成的字符串,第二行輸入一個字符。
輸出描述
輸出輸入字符串中含有該字符的個數。
示例1
輸入
ABCDEF
A
輸出
1
說明
輸入、輸出不要添加任何多餘的字符,不需要進行輸入出錯處理。
答案
#include <string>
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::string input;
std::getline(std::cin, input);
std::transform(input.begin(), input.end(), input.begin(),
[](char ch) { return std::toupper(ch);});
char ch;
std::cin >> ch;
ch = std::toupper(ch);
std::size_t count = -1;
std::size_t pos = -1;
do {
++count;
pos = input.find(ch, pos + 1);
} while (std::string::npos != pos);
std::cout << count;
return 0;
}