beergaizi 2021-09-14 22:18 采纳率: 100%
浏览 49
已结题

【c语言指针】我知道我的代码有很大的问题,但是我不知道哪里有问题,请各位小伙伴look一下!

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

要求:

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

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

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

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

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

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

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

依次输入t个实例

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

样例输入
2

abcdefghij

ABCDEFGHIJ

aabbccddee

3 5

2 6

8 10

AABBCCDDEE

ffgghhiijj

FFGGHHIIJJ

1 4

5 8

2 7

样例输出
cdeBCDEFdee

AABBhhiiFGGHHI


#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
    int t,i,j,n;
    int a,b,c,d,e,f;
    char str1[20],str2[20],str3[20];
    char *p,*q,*r;
    
    cin>>t;
    for(i=0;i<t;i++)
    {
        for(j=0;j<20;j++)
        cin>>str1;
        
        for(j=0;j<20;j++)
        cin>>str2;
        
        for(j=0;j<20;j++)
        cin>>str3;
        
        
        cin>>a>>b;
        cin>>c>>d;
        cin>>e>>f;
        
        p=&str1[a],q=&str2[c],r=&str3[e];
        
        char *N=new char[20];
                memset(N,0,20);
        
        for(int n=0,i=a;i<b;i++,n++)
        {
            *(N+n)=*(p+i);
        }
        for(i=c;i<d;i++,n++)
        {
            *(N+n)=*(q+i);
        }
        for(i=e;i<f;i++,n++)
        {
            *(N+n)=*(r+i);
        }
    
        cout<<N<<endl;
        
        
        
    }
    
    return 0;
}
  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-09-14 22:22
    关注

    for(j=0;j<20;j++)
    cin>>str1[j];
    直接cin>>str1就行啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月23日
  • 已采纳回答 9月15日
  • 修改了问题 9月14日
  • 修改了问题 9月14日
  • 展开全部

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效