题目内容:
编写程序,定义函数void insert(chars,chart,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。
解题思路:首先 ,两个字符串,创建两个字符数组
char a[100] char b[100]
然后就是输入了,我这里用gets函数输入,它在头文件**#include<stdio.h>**里。这里就不多讲这个函数怎么使用!!!
接着把位置输入进去,最后就是关键的一步了,你输入位置进去之后,怎么统计字符串的长度呢?然后又怎么把字符串插进去呢?
在这里我用strlen() 函数来统计字符串的长度,它在头文 #include<string.h>=中,它的作用是 直接统计你输入字符串的长度。
最后就是插入,输完pos以后,比如pos=5,这时候得把5之前的字符都输出来,然后把你要插入的字符串在5后面全输出来,再输出其它的字符。
代码如下
#include"stdio.h"
#include"string.h"
void insert(char *s,char *t,int pos)
{
int i;
统计字符串的长度;
int m=strlen(s);//主串长度;
int n=strlen(t);//子串长度;
printf("插入后的结果为:\n");
for(i=0;i<pos;i++)
{
printf("%c",s[i]);
}
for(i=0;i<n;i++)
{
printf("%c",t[i]);
}
for(i=pos;i<m;i++)
{
printf("%c",s[i]);
}
}
int main()
{
int pos;
char t[100],s[100];
printf("输入主串s:");
gets(s);
printf("输入子串t:");
gets(t);
printf("输入插入位置pos:");
scanf("%d",&pos);
insert(s,t,pos);
return 0;
}