char str1[105];
char str2[105];
double sum=0;
gets(str1);
gets(str2);
int num=0;
int i=0;
while(str1[i]!='\0')
{
if(str1[i]!=str2[i])
{
printf("0");
num++;
}
else
printf("1");
i++;
}
sum=((len-num)*100.0)/len;
printf("%d\n",num);
printf("%.2lf%%",sum);
sum=((len-num)*100.0)/len;前面加个printf("\n");
你没换行,在while结束之后,printf("%d\n,num)之前输出一个换行就好了