将一个字符串插入到另一个字符串的指定位置的题目(用C语言解决)

2024-12-02 16:25:19
推荐回答(4个)
回答1:

1、参数2去掉与参数1相同的字符串。

2、从指定位置截取字符串的指定长度。

3、从字符串中找到指定字符串的位置后一位开始到结束的字符串。

4、从指定的位置开始截取字符串到字符串结尾处。

5、从字符串找到指定字符串开始截取字符串的结尾。

6、从开始到指定字符串的文件的字符串截取。

7、截取指定2个字符之间的字符串,组合成数组。

回答2:

void Insert(char*s1,char*s2,int n)

{

char*result=(char*)malloc(20*sizeof(char));

char*temp=result;//保存result的初始地址,因为后面要改变result

//把s1的一部分赋给result

for(int i=0;i<n;i++)

{

*result=*(s1++);

result++;

}

//把s2的所有内容赋给result

while(*s2!='\0')

{

*result=*(s2++);

result++;

}

*result='\0';//字符串结束符

printf("%s\n",temp);

}

int main()

{

char*s1=(char*)malloc(20*sizeof(char));

char*s2=(char*)malloc(20*sizeof(char));

int n;

printf("请输入第一个字符串:");

scanf("%s",s1);

printf("请输入第二个字符串:");

scanf("%s",s2);

printf("请输入插入的位置:");

scanf("%d",&n);

Insert(s1,s2,n);

getchar();

system("pause");

return 0;

}

示例运行结果:

请输入第一个字符串:You are ok

请输入第二个字符串:fine and

请输入插入的位置:8

You are fine and ok

请按任意键继续…

扩展资料:

char用法:

C语言中char用于定义字符类型变量或字符指针变量,例如“char a;”则定义了变量a是字符类型,“char*a;”则定义了变量a是字符指针类型。

char是C语言整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中不指定为signed/unsigned,编译器可以实现为带符号的,也可以实现为不带符号的。

关于char还有一个特殊的语言就是char*,它在C语言中有专门的语义,既不同于signed char*,也不同于unsigned char*,专门用于指以'\0'为结束的字符串。

回答3:

#include
#include
using namespace std;

void Insert(char* s1,char* s2,int n)
{
char *result = (char*)malloc(20*sizeof(char));
char *temp = result; //保存result的初始地址,因为后面要改变result
//把s1的一部分赋给result
for(int i=0; i {
*result = *(s1++);
result++;
}
//把s2的所有内容赋给result
while(*s2 != '\0')
{
*result = *(s2++);
result++;
}
*result = '\0'; //字符串结束符
printf("%s",temp);
}

int main()
{
char *s1 = (char*)malloc(20*sizeof(char));
char *s2 = (char*)malloc(20*sizeof(char));
int n;
printf("请输入第一个字符串:");
scanf("%s",s1);
printf("请输入第二个字符串:");
scanf("%s",s2);
printf("请输入插入的位置:");
scanf("%d",&n);
Insert(s1,s2,n);
return 0;
}
编译通过!!有什么不懂可以问我哈

回答4:

#include
#include
void main()
{
char ch[40],ch2[20],ch3[20],i,j,temp,x;
printf("请输入第一串字符:");
gets(ch);
printf("请输入第二串字符:");
gets(ch2);
printf("请输入插入的位置:");
scanf("%d",&i);
temp = i;
for(j=0;ch[temp] != '\0';j++,temp++)
ch3[j] = ch[temp];
ch3[j]='\0';
for(j=0;j ch[i] = ch2[j];
strcat(ch,ch3);
ch[i] = '\0';
puts(ch);
}