#include <stdio.h>
#include <string.h>
int main()
{
int m,num=0,geshu,j;
char ch[51],min;
while (scanf("%s", ch) == 1)
{
num = 0;
geshu = 1;
m = strlen(ch);
for (int i = 0;i<(m/2);i++)
{
if (ch[i] == ch[m - 1 - i])
num=num+1;
}
if (num == (m / 2))
{
printf("YES ");
for (int i = 0; i <= num; i++)
{
for(j=i;j<=num;j++)
{ if(ch[j]>ch[j+1])
{min=ch[j+1];
ch[j+1]=ch[j];
ch[j]=min;}}
}
for(int i=0;i<num;i++)
{
if (ch[i] != ch[i+1])
geshu++;
}
//if((m%2)==0)
printf("%d\n",geshu-1);
//else
//printf("%d\n",geshu);
}
else
printf("NO\n");
}
return 0;
}
样例输出是这样的
求是否是回文串,且不同字母个数?哪里出问题了?为什么输出结果全是no?