如题所述
#include <stdio.h>#include <string.h>void main(){ char ch[100]; char c; int index; memset(ch,NULL,100);//初始化所有元素为空 puts("请输入一串字符:\n"); gets(ch); puts("请输入一个字符:"); scanf("%c",&c); puts("请输入要插入的位置:"); scanf("%d",&index); if(index>strlen(ch)+1||index<1) puts("输入的位置不正确!\n"); else { printf("插入元素%c之前:%s\n插入元素%c之后:\n",c,ch,c); for(int i=strlen(ch);i>index-1;i--) { ch[i]=ch[i-1]; } ch[index-1]=c; printf("%s\n",ch); }}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-11-27
#include<stdio.h>
#include<string.h>
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<strlen(ch);j++,i++)
ch[i] = ch2[j];
strcat(ch,ch3);
ch[i] = '\0';
puts(ch);
}本回答被网友采纳
#include<string.h>
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<strlen(ch);j++,i++)
ch[i] = ch2[j];
strcat(ch,ch3);
ch[i] = '\0';
puts(ch);
}本回答被网友采纳
第2个回答 2013-11-27
#include<stdio.h>
#include "string.h"
void main()
{
int i,j;
char ch,s[100];
printf("输入一字符串:");
gets(s);
printf("输入一个字符:");
scanf("%c",&ch);
printf("输入位置:");
scanf("%d",&i);
if(i>strlen(s))
{
printf("位置过大\n");
return;
}
for(j=strlen(s)+1;j>i;j--)
s[j]=s[j-1];
s[i]=ch;
puts(s);}本回答被网友采纳
#include "string.h"
void main()
{
int i,j;
char ch,s[100];
printf("输入一字符串:");
gets(s);
printf("输入一个字符:");
scanf("%c",&ch);
printf("输入位置:");
scanf("%d",&i);
if(i>strlen(s))
{
printf("位置过大\n");
return;
}
for(j=strlen(s)+1;j>i;j--)
s[j]=s[j-1];
s[i]=ch;
puts(s);}本回答被网友采纳