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<iostream>
#include<string>
#include<algorithm>
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];
};</algorithm></string></iostream>
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;
}
后来想起来字符串倒置函数才把这题解出来。
这个我也在CSDN网站上写过,题目链接就直接转到CSDN上去吧