gpt4 book ai didi

c++ - 打印给定字符串的 50% 或一半

转载 作者:行者123 更新时间:2023-11-28 04:06:43 24 4
gpt4 key购买 nike

假设我给了一个字符串并且需要以相反的顺序打印准确的第一半或 50% 的字符串。

我试图设置 strlen(s)=n/2 但要求:错误:需要左值作为赋值的左操作数|。

#include<bits/stdc++.h>
using namespace std;

int t,i,j;

char s[101],b[101];

int main()
{
cin>>t;
for(i=0;i<t;i++)
{
cin>>s;
int n=strlen(s)-1;
for(i=n,j=0;i>=0;i--,j++)
b[j]=s[i];
strlen(b)=n/2;
cout<<b<<"\n";
}
}

应该以相反的顺序打印出字符串的第一半

最佳答案

使用 std::stringstd::reverse_iterator,你可以这样做

std::string get_1st_half_rev(const std::string& s)
{
return {std::rbegin(s),
std::rbegin(s) + (s.size() + 1) / 2};
}

Demo

关于c++ - 打印给定字符串的 50% 或一半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58594818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com