如果我想让函数支持用户输入字符串和移位次数,应该如何修改代码(用c++)
时间: 2024-12-08 18:22:02 浏览: 15
如果你想让你的C++函数支持用户输入字符串和移位次数,你可以这样做:
```cpp
#include <iostream>
#include <string>
// 定义一个接受字符串和整数作为参数的函数,用于移位操作
std::string shiftString(const std::string& inputStr, int shiftCount) {
if (shiftCount == 0) { // 如果移位次数为0,直接返回原字符串
return inputStr;
}
std::string result = ""; // 初始化结果字符串
for (char c : inputStr) {
// 将字符按照ASCII值左移或右移指定次数
char shiftedChar = static_cast<char>((static_cast<int>(c) + shiftCount) % 256);
result += shiftedChar; // 添加到结果字符串
}
return result;
}
int main() {
std::string userInput;
int shiftAmount;
// 请求用户输入字符串和移位次数
std::cout << "请输入一个字符串: ";
getline(std::cin, userInput);
std::cout << "请输入移位次数: ";
std::cin >> shiftAmount;
// 调用函数并输出结果
std::string shiftedStr = shiftString(userInput, shiftAmount);
std::cout << "移位后的字符串是: " << shiftedStr << std::endl;
return 0;
}
```
在这个例子中,`shiftString` 函数接收一个字符串和一个整数移位量。如果移位次数为0,则不做任何处理直接返回原字符串。否则,它会遍历输入的每个字符,根据ASCII值移动相应位置,并将结果添加到新字符串中。
阅读全文