先输入一个字符串s1,再输入一个整数x(字符串最大宽度之内),及某字符c,在字符串s1的x位置插入字符c。

来源:百度知道 编辑:UC知道 时间:2024/05/21 00:12:13
用C语言实现

我写的这个 3个数据分为2行输入
第一行是s1,以回车结束
第二行分别是x和c 用空格分开
还有你没说明“字符串s1的x位置”指的是哪个位置,比如s1="abcd",x=1
那么s1[x]是'a'呢还是'b'呢? 要知道c中字符串下标是从0开始的,这边我也就默认s1[x]=='a'了

#include <stdio.h>
int main()
{
char s1[1024];//储存输入的字符串
int i,x,l=0;//l储存输入字符串长度
char c;
while( (s1[l]=getchar()) != '\n') l++;
scanf("%d %c",&x,&c);
for(i=l;i>=x;i--)//把x后面(包括X在内)的字符后移一位,让出空间
s1[i+1]=s1[i];
s1[x]=c;
s1[l+1]='\0';//printf函数以\0截断字符串
printf("%s",s1);
return 0;
}