方法一:     链表

解题思路:    链表的建立  +   两个链表的连接

注意事项:

参考代码:

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#define N 1000

struct link{

    char c;

    struct link *next;

};

typedef struct link link;

int main()

{

char s[N];

char s1[N];

    link *head ,*p,*q;

    head=NULL;

    int n;

    int sum=0;

    char m,c;

    scanf("%s",s);

    getchar();

    scanf("%s",s1);

    scanf("%d",&n);

    for(int i=0;s[i]!='\0';i++)//链表的建立

    {

        p = (link*)malloc(sizeof(link));

        p->c = s[i];

        p->next = NULL;

        if(head==NULL)

        {

            head=p;

        }

        else

        q->next = p;

        q=p;

    }

    link *top = head;

    while(top)//找到要连接的位置

    {

    sum++;

        if(sum==n-1)

        break;

        top=top->next;

    }

    link *head1=NULL;

   for(int i=0;s1[i]!='\0';i++)//对要插入的链表进行创建

    {

        p = (link*)malloc(sizeof(link));

        p->c = s1[i];

        p->next = NULL;

        if(head1==NULL)

        {

            head1=p;

        }

        else

        q->next = p;

        q=p;

    }

    if(n==1)//很重要的一点,如果要连接的链表要放在开头,则要要把第一个建立的链表连接到第二个链表的尾部

    {

    p->next=head;

    head=head1;

}

else

{

    p->next = top->next;//链表的连接

    top->next = head1;

}

    while(head!=NULL)//打印链表

    {

    printf("%c",head->c);

    head = head->next;

}

}

方法二:数组

参考的代码:

#include<stdio.h>

#include<string.h>

#define N 1000

int main()

{

char s[N],s1[N];

int num;

scanf("%s",s);

getchar();

scanf("%s",s1);

scanf("%d",&num);

for(int i=0;s[i]!='\0';i++)

{

if(i==num-1)//找到要插入的位置,将剩余数组向后移动strlen(第二个数组)

{

int len =strlen(s1);

for(int k=len+strlen(s)-1;k>=i;k--)

{

s[k+len]=s[k];

}

int j=0;

int m=i;

for(;m<len+i;m++)

{

s[m]=s1[j];

j++;

}

}

}

puts(s);

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论