C/C++ 2021字节跳动游戏测试岗提前批编程题 字符串数组的倒置 的看法和解题思路

字符串数组倒置
要输入N个URL,在输入完成后进行URL倒置输出

#include
#include
#include

using namespace std;

int main()
{
int num;
cin >> num;
string *a;
a = new string[num];
for (int i = 0; i < num; i++)
{
cin >> a[i];
};

char b[10001];
int len;
string t;
for (int j=0; j < num; j++)
{
    t = a[j];
	reverse(t.begin(), t.end());
	cout << t << endl;
};
system("pause");
return 0;

}

C/C++的字符串输出和输入 实在是绕的可以
我一开始的思路是忘了reverse倒置函数了
就去想把string类型和char[]类型进行互换,然后构造函数去实现但出现了严重的BUG,第二次循环只进行了一次,不知道什么原因。。。
下面是我第一次失败的代码,有兄弟看看 为什么出错了
#include
#include
#include
using namespace std;
string f(char*p, int j)
{
for (int i = j; i >= 0; i–)
{
cout<< p[i];
}
cout << “\n”;
return 0;
}
int main()
{
int num;
cin >> num;
string *a;
a = new string[num];
for (int i = 0; i < num; i++)
{
cin >> a[i];
};

char b[100];
int len;
string t;
for (int j=0; j < num; j++)
{
    t = a[j];
	len = t.length() ;
	strncpy_s(b, t.c_str(),len);
	f(b, len - 1);
	cout << "\n";
};
system("pause");
return 0;

}
后来想起来字符串倒置函数才把这题解出来。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值