c++ 编写程序,任意输入一个字符串(字符数小于100),输入一个字符,然后去掉字符串中的该字符,并输出去掉字符后的字符串。 使用函数gets()实现含空格的字符串输入,使用puts()函数输出结果字符串,用getchar()读字符。 第一行为输入的字符串,第二行为输入的字符
时间: 2024-12-02 22:19:30 浏览: 21
在C++中,你可以编写一个简单的控制台应用程序来完成这个任务。下面是一个示例程序:
```cpp
#include <stdio.h>
#include <string>
std::string removeChar(std::string str, char target) {
for (size_t i = 0; i < str.length(); ++i) {
if (str[i] == target) {
str.erase(i, 1);
--i; // 因为删除了字符,需要更新索引
}
}
return str;
}
int main() {
char inputStr[101]; // 用于存储输入的字符串,大小足够容纳最多99个字符加上'\0'
char target;
// 使用gets()获取包含空格的字符串输入
fgets(inputStr, sizeof(inputStr), stdin);
// 移除回车符
inputStr[strcspn(inputStr, "\n")] = '\0';
printf("请输入要去掉的字符: ");
scanf("%c", &target); // 读取单个字符
// 调用函数去除目标字符
std::string result = removeChar(std::string(inputStr), target);
// 输出结果
puts(result.c_str());
// 如果有剩余字符,等待用户按下Enter键
getchar();
return 0;
}
```
在这个程序中,`removeChar()` 函数接收一个字符串和一个字符作为参数,遍历字符串并移除所有匹配的目标字符。`main()` 函数首先通过 `fgets()` 获取用户输入,然后通过 `scanf()` 读取一个单独的字符。最后,使用 `puts()` 和 `getchar()` 函数显示结果并等待用户按 Enter 键。
注意:在实际生产环境中,建议避免使用 `gets()`,因为它存在安全风险(缓冲区溢出)。这里为了简化示例,仅用于教学目的。在现代C++编程中,应该使用更安全的 `std::getline` 或者 `std::cin` 来获取用户输入。
阅读全文