我的代码在一个数出现三次及以上时会错误,我知道哪地方有问题,但不知道怎么改,请帮我看看
#include<stdio.h>
#include<string.h>
int main()
{
int m,i=0,j,c=0,x,y,r;
char a[100],b[100];
gets(a);
m=strlen(a);
if(m>7){
printf("Invalid input.");
return 0;
}
for(i=0;i<m-1;i++){
for(j=i+1;j<=m-1;j++){
if(a[i]==a[j]){c++;
b[c-1]=a[j];
break;
}
}
}
if(c==0&&m<=7){
printf("No repeated numbers.");
return 0;}
for(x=0;x<c-1;x++){
for(y=0;y<c-x-1;y++)if(b[y]>b[y+1]){r=b[y];
b[y]=b[y+1];
b[y+1]=r;
}
}
for(r=0;r<=c-1;r++)printf("%c ",b[r]);
return 0;
}