输入一个字符串,统计字符串中有多少个不同的字母。c++代码
时间: 2023-08-21 19:05:43 浏览: 105
可以使用 STL 中的 set 来实现去重操作,然后统计 set 的元素个数就是不同字母的个数。
以下是 C++ 代码示例:
```c++
#include <iostream>
#include <string>
#include <set>
using namespace std;
int main() {
string str;
getline(cin, str);
set<char> char_set;
for (char c : str) {
if (isalpha(c)) { // 判断是否为字母
char_set.insert(tolower(c)); // 全部转为小写并插入 set
}
}
cout << "不同字母的个数为:" << char_set.size() << endl;
return 0;
}
```
这段代码中,首先使用 `getline()` 函数获取输入的字符串,然后遍历字符串中的每个字符,判断是否为字母,如果是字母就将其转换为小写字母并插入 set 中。最后输出 set 的元素个数即可。
相关问题
c++输入一个字符串统计大写字母和小写字母的总个数
可以使用C++中的字符函数isupper和islower来判断一个字符是不是大写字母或小写字母。具体实现可以参考以下代码:
```
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100];
int upperCount = 0, lowerCount = 0;
cout << "请输入一个字符串:";
cin.getline(str, 100);
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (isupper(str[i])) {
upperCount++;
} else if (islower(str[i])) {
lowerCount++;
}
}
cout << "大写字母个数:" << upperCount << endl;
cout << "小写字母个数:" << lowerCount << endl;
return 0;
}
```
这段代码中,我们先定义了一个字符数组str和两个变量upperCount和lowerCount来分别统计大写字母和小写字母的个数。然后通过cin.getline函数从控制台读入一个字符串。接下来使用for循环遍历字符串中的每个字符,如果是大写字母则将upperCount加1,如果是小写字母则将lowerCount加1。最后输出统计结果。
C++编写任意输入一个字符串统计其中字母a与字母i的个数
你好啊!关于你的问题,我可以帮你。以下是C语言的代码,可以统计输入字符串中字母a和字母i的个数:
```
#include <stdio.h>
int main() {
char str[100];
int a_count = 0, i_count = 0;
printf("请输入字符串:");
scanf("%s", str);
for(int i = 0; str[i] != '\0'; i++) {
if(str[i] == 'a' || str[i] == 'A') {
a_count++;
} else if(str[i] == 'i' || str[i] == 'I') {
i_count++;
}
}
printf("字符串中字母a的个数是:%d\n", a_count);
printf("字符串中字母i的个数是:%d\n", i_count);
return 0;
}
```
希望这个回答可以帮到你。还有什么其他问题吗?
阅读全文