输入一行大字符,最多30个,输出A-Z字符的个数。没有的字符不必输出。C++
时间: 2024-03-06 07:49:06 浏览: 22
下面是一个简单的 C++ 代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
string str;
int count[26] = {0}; // 存放每个字母的出现次数
// 读入字符串
cin >> str;
// 统计字母出现次数
for (int i = 0; i < str.length(); i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
count[str[i] - 'A']++; // 将大写字母映射到 0~25 的下标
}
}
// 输出结果
for (int i = 0; i < 26; i++) {
if (count[i] > 0) {
cout << (char)('A' + i) << ":" << count[i] << endl; // 将 0~25 的下标映射回大写字母
}
}
return 0;
}
```
代码的思路是:先读入字符串,然后遍历字符串中的每个字符,如果是大写字母则在 `count` 数组中对应的位置加一。最后再遍历 `count` 数组,输出不为零的字母出现次数即可。
相关问题
C++输入两个字符串(每个字符串最多10个字符),统计第一个字符串中有但第二个字符串中没有的字符的个数,并输出。
好的,以下是 C++ 的代码实现:
```
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s1[11], s2[11];
int count = 0;
bool flag;
cout << "请输入第一个字符串:";
cin >> s1;
cout << "请输入第二个字符串:";
cin >> s2;
for (int i = 0; i < strlen(s1); i++) {
flag = true;
for (int j = 0; j < strlen(s2); j++) {
if (s1[i] == s2[j]) {
flag = false;
break;
}
}
if (flag) {
count++;
}
}
cout << "第一个字符串中有但第二个字符串中没有的字符的个数为:" << count << endl;
return 0;
}
```
这段代码中,我们首先定义了两个字符数组 `s1` 和 `s2`,并定义了一个整型变量 `count` 用于计数。接着,我们使用 `cin` 分别从控制台输入这两个字符串。
然后,我们使用两个 `for` 循环,分别遍历这两个字符串。对于第一个字符串中的每个字符,我们都在第二个字符串中进行查找。如果在第二个字符串中找到了相同的字符,就将 `flag` 标记为 `false`,表示这个字符在第二个字符串中存在。如果第一个字符串中的一个字符在第二个字符串中不存在,就将 `count` 计数器加 1。
最后,我们输出计数器 `count` 的值即可。
运用C加加编写一个程序输入一个字符串求字符串中字符的个数并输出
以下是一个简单的 C++ 程序,可以实现输入一个字符串,统计其中的字符个数并输出:
```c++
#include <iostream>
#include <string>
int main() {
std::string str;
std::cout << "请输入一个字符串:" << std::endl;
std::getline(std::cin, str);
int count = 0;
for (int i = 0; i < str.size(); i++) {
if (str[i] != ' ') { // 排除空格
count++;
}
}
std::cout << "字符个数为:" << count << std::endl;
return 0;
}
```
这个程序中,首先使用 `std::getline()` 函数读入一行字符串,然后遍历字符串中的每个字符,如果不是空格,则计数器加 1。最后输出字符个数即可。