C语言,从键盘输入一个字母字符串str,再输入一个字母,如果输入的字母与字符串中某一个字母相同,则将该字母放到字符串最后输出,否则输出原字符串求大神帮我看看我这哪里不对
#include<stdio.h>
#include<string.h>
int main()
{char str[100],ch;
int i,n;
gets(str);
scanf("%c",&ch);
n=strlen(str);
for(i=0;i<n;i++)
{
if(str[i]==ch)
{
str[n]=ch;
for(i=0;i<=n;i++)
printf("%c",str[i]);
}
if(str[i]!=ch)
{
for(i=0;i<n;i++)
printf("%c",str[i]);
}
}
printf("\n");
return 0;
}