【id:10】【20分】B. 三串合一(指针与字符数组)
创始人
2025-05-31 08:45:59

题目描述

输入三个字符串,通过指针读取各个字符串的子串(子串是指字符串中连续的一小部分),把它们合并成一个新字符串

要求:

1. 三个字符串的创建和输入可以使用数组,也可以不用

2. 输入后,根据三个字符串的子串的长度,计算出新字符串的长度

3. 使用动态数组的方法创建新的字符串,并且使用指针读取三个字符串的不同部分,并且复制到新字符串中,要求整个过程都不能使用数组下标

4. 使用指针输出新的字符串

输入

第一行输入t表示有t个测试实例

连续三行输入三个字符串,每个字符串都包含10个字符

连续三行,每行输入数字a和b,表示每个子串的开始和结束位置。注意字符串的位置是按照一般意义从1开始计算,和编程中的数组位置不同。例如字符串abcdefg,开始位置是3,结束位置是5,那么子串就是cde

依次输入t个实例

输出

每行输出合并后的新字符串


输入样例1

2
abcdefghij
ABCDEFGHIJ
aabbccddee
3 5
2 6
8 10
AABBCCDDEE
ffgghhiijj
FFGGHHIIJJ
1 4
5 8
2 7
 


输出样例1

cdeBCDEFdee
AABBhhiiFGGHHI
 


 

#include
#include
using namespace std;int main()
{int t;cin >> t;while (t--){char* a = new char[100];char* b = new char[100];char* c = new char[100];int e, f;cin >> a >> b >> c;//可以直接输入一整串字符串 空格和转行 才终止cin >> e >> f;for (int i = e - 1; i < f; i++){cout << a[i];}cin >> e >> f;for (int i = e - 1; i < f; i++){cout << b[i];}cin >> e >> f;for (int i = e - 1; i < f; i++){cout << c[i];}cout << endl;}return 0;
}

tip:    cin >> a >> b >> c;

//可以直接输入一整串字符串 遇到空格和转行才终止

相关内容

热门资讯

重组胶原蛋白暗战:锦波生物背靠... 文 | 坤舆商业观察,作者 | 高见重组胶原蛋白,这个曾被视为小众科研的名词,正成为医美行业新的流量...
芯迈半导体IPO:小米宁王押注... 文 | 港股研究社近日,功率半导体企业芯迈半导体技术(杭州)股份有限公司(简称“芯迈半导体”)向港交...
解决社会不平等的中国可能 文 | 沈素明2024年,当大洋彼岸的精英们还在为3000人的“基本收入实验”争论不休,甚至撕破脸皮...
立体广告的“出圈”与“出格” 文 | 数字品牌榜前段时间,脉动将自家的立体广告投放到了全国各地的公交站,竟意外吵上了热搜。有网友觉...