C++编写函数,删除一个字符串s中的全部*,该字符串中只包含大小写字母和*。在主函数中输入字符串s,在自定义函数中完成删除工作,返回主函数输出删除后的字符串。s中字符的个数不超过100。 若字符串s为asas***JK*LO*****,则输出结果为asasJKLO。
时间: 2023-12-18 09:27:23 浏览: 27
以下是C++编写函数,删除一个字符串s中的全部*的代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
string deleteStar(string s) {
string result = "";
for (int i = 0; i < s.length(); i++) {
if (s[i] != '*') {
result += s[i];
}
}
return result;
}
int main() {
string s;
cin >> s;
cout << deleteStar(s) << endl;
return 0;
}
```
在主函数中,我们输入一个字符串s,然后调用自定义函数deleteStar(),该函数会遍历字符串s中的每个字符,如果该字符不是星号,则将其添加到结果字符串result中。最后,该函数返回结果字符串result,主函数将其输出即可。
例如,若字符串s为asas***JK*LO*****,则输出结果为asasJKLO。
相关问题
c++编程,通过成员函数,将一个字符串中的大小写相互转换。
可以使用成员函数 `transform` 来实现字符串大小写转换,代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
class StringConverter {
public:
void transform(string& s) {
for (int i = 0; i < s.length(); i++) {
if (islower(s[i])) {
s[i] = toupper(s[i]);
} else if (isupper(s[i])) {
s[i] = tolower(s[i]);
}
}
}
};
int main() {
string s = "Hello, World!";
StringConverter c;
c.transform(s);
cout << s << endl; // 输出 hELLO, wORLD!
return 0;
}
```
在上面的代码中,`StringConverter` 是一个类,它只有一个成员函数 `transform`,该函数接受一个字符串作为参数,并将其中的小写字母转换为大写字母,将其中的大写字母转换为小写字母。在 `main` 函数中,我们创建了一个 `StringConverter` 对象 `c`,并将字符串 `"Hello, World!"` 传递给该对象的 `transform` 函数进行转换。最后,我们输出转换后的字符串。
5.编写一 c++ 函数,将字符串中的大写字母转换为小写字母,将小写字母转换为大写字母
下面是一个将字符串中的大写字母转换为小写字母,将小写字母转换为大写字母的C++函数的实现:
```c++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string swapCase(string s) {
transform(s.begin(), s.end(), s.begin(), ::toupper);
transform(s.begin(), s.end(), s.begin(), ::tolower);
return s;
}
int main() {
string s = "Hello World";
string swapped = swapCase(s);
cout << swapped << endl;
return 0;
}
```
这个函数使用了C++标准库中的`transform`函数来进行字符大小写的转换。`transform`函数接受四个参数,分别是要进行转换的字符序列的开始和结束迭代器,以及转换的结果存储的位置的开始迭代器和一个转换函数。在这里,我们使用了`::toupper`函数和`::tolower`函数分别将字符转换为大写和小写。最后将转换后的字符串返回即可。