编写c++程序将输入一个字符串将其中的数字字符全部删除
时间: 2024-03-12 12:44:35 浏览: 136
好的,以下是C++代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
cout << "请输入一个字符串:";
getline(cin, str); // 获取一行输入
for (int i = 0; i < str.length(); i++)
{
if (isdigit(str[i])) // 判断是否为数字字符
{
str.erase(i, 1); // 删除该字符
i--; // 因为删除后索引会减1,所以需要i--来保证不会漏删
}
}
cout << "删除数字字符后的字符串为:" << str << endl;
return 0;
}
```
程序首先提示用户输入一个字符串,然后使用`getline()`函数获取一整行输入。接着使用`for`循环遍历字符串中的每一个字符,如果该字符是数字字符,就使用`erase()`函数将该字符从字符串中删除。删除后因为索引会相应减1,所以需要`i--`来保证不会漏删。最后输出删除数字字符后的字符串。
相关问题
c++ 编写程序输入一个以回车结束的字符串(小于80个字符)分别统计其中英文字母、数字、其他字符的个数
以下是使用 C++ 编写的程序,可以实现输入一个字符串并统计其中的英文字母、数字和其他字符的个数:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[80];
int letter = 0, digit = 0, other = 0;
cout << "请输入一个字符串(小于80个字符):" << endl;
cin.getline(str, 80); // 输入一个以回车结束的字符串
// 统计字符串中的英文字母、数字和其他字符的个数
for (int i = 0; i < strlen(str); i++) {
if (isalpha(str[i])) {
letter++;
} else if (isdigit(str[i])) {
digit++;
} else {
other++;
}
}
// 输出统计结果
cout << "英文字母个数:" << letter << endl;
cout << "数字个数:" << digit << endl;
cout << "其他字符个数:" << other << endl;
return 0;
}
```
程序运行结果示例:
```
请输入一个字符串(小于80个字符):
Hello 123!@#
英文字母个数:5
数字个数:3
其他字符个数:4
```
阅读全文