输入一个字符串s和两个整数a, b。要求将s[a]-s[b]这一段翻转后输出。如果a或b不合法,输出false。c++

2024-12-27 17:30:36
推荐回答(1个)
回答1:

C++实现对字符串s以a为首b为尾的任意子串翻转后输出,并对a和b的合法性加以判断,参考代码如下:
#include
#include
using namespace std;
void reverse(char *str,int len)
{
int i;
char t;
for(i=0; i t=str[i];
str[i]=str[len-i-1];
str[len-i-1]=t;
}
}
int main()
{
char s[100];
int a,b,len;
cout << "输入字符串s:" << endl;
cin>>s;
cout << "输入整数a b:" << endl;
cin>>a>>b;
len=strlen(s);
if(a>b||a<0||b>=len) {
cout << "false" << endl;
return 0;
}
reverse(&s[a],b-a+1);
cout << s << endl;
return 0;
}