c++输入一行字符串(可包含空格),统计组成字符串的字母,数字和符号的个数,并输出所有符号。
时间: 2024-02-12 18:06:49 浏览: 82
可以使用C++中的string库和isalnum()函数来实现统计字符串中字母、数字和符号的个数的操作。同时,可以使用遍历字符串的方式来输出所有的符号。具体的实现步骤如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
getline(cin, str); // 输入一行字符串
int letter_count = 0; // 字母计数器,用于统计字母的个数
int digit_count = 0; // 数字计数器,用于统计数字的个数
int symbol_count = 0; // 符号计数器,用于统计符号的个数
cout << "所有符号为:";
for (char c : str) { // 遍历字符串中的每个字符
if (isalpha(c)) { // 如果是字母
letter_count++; // 字母计数器加1
} else if (isdigit(c)) { // 如果是数字
digit_count++; // 数字计数器加1
} else { // 否则为符号
symbol_count++; // 符号计数器加1
cout << c; // 输出符号
}
}
cout << endl << "字母的个数为:" << letter_count << endl; // 输出字母的个数
cout << "数字的个数为:" << digit_count << endl; // 输出数字的个数
cout << "符号的个数为:" << symbol_count << endl; // 输出符号的个数
return 0;
}
```
上述代码中,使用getline()函数来读取一行字符串,然后使用for循环遍历字符串中的每个字符,根据字符的类型分别将计数器加1。同时,使用if语句判断字符是否为符号,如果是符号则输出。最后输出字母、数字和符号的个数。