Write a C++ program. Count the number of occurrences of each letter of the input string, case – insensitive.Wr
时间: 2024-01-04 18:03:16 浏览: 209
ite a C++ program that counts the number of occurrences of each letter of an input string, case-insensitive. Here's one way you could do it:
```cpp
#include <iostream>
#include <string>
#include <map>
#include <cctype>
int main() {
std::string input;
std::getline(std::cin, input); // read input from user
std::map<char, int> letterCounts; // map to store letter counts
for (char c : input) {
if (std::isalpha(c)) { // ignore non-letter characters
char lowercase = std::tolower(c); // convert to lowercase
letterCounts[lowercase]++; // increment count of this letter
}
}
// print out the results
for (auto pair : letterCounts) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
```
This program starts by reading in a string from the user using `std::getline()`. It then creates a `std::map<char, int>` called `letterCounts` to store the counts of each letter. The `for` loop iterates over each character in the input string, checking if it is a letter using `std::isalpha()`. If it is a letter, it converts it to lowercase using `std::tolower()` and increments the count of that letter in the `letterCounts` map.
Finally, the program prints out the results by iterating over the `letterCounts` map and printing out each letter and its count. Note that the `auto` keyword is used to simplify the loop syntax - `pair` is automatically inferred to be a `std::pair<char, int>`.
This program should work for any input string, regardless of its length or the specific letters it contains.
阅读全文