Что объяснять? В условии уже всё сказано. #include "stdio.h" int main(){ char c,s[1000]; int i,j,k; printf("String: "); gets(s); printf("Character: "); scanf("%c",&c); printf("Position: "); scanf("%d",&k); k--; for(i=0;s;i++); for(j=i;j>=k;j--)s[j+1]=s[j]; s[k]=c; printf("%s ",s); getchar(); getchar(); return 0;}