输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。
输入格式:
输入在一行中给出一个不超过80
个字符长度的、以回车结束的非空字符串。
输出格式:
输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes
,否则输出No
。
输入样例1:
level
结尾无空行
输出样例1:
level
Yes
结尾无空行
输入样例2:
1 + 2 = 2 + 1 =
结尾无空行
输出样例2:
1 + 2 = 2 + 1 =
No
结尾无空行
int huiwen(char ch[], int sz)
{
//这个函数功能即当判断到不是回文数时返回0;是回文数返回1
int right = sz-1;//letf从0开始,right从最右边的元素开始
int letf = 0;
while (letf < right)//每判断完一次letf+1,right-1
{
if (ch[letf] != ch[right])
return 0;
letf++;
right--;
}
return 1;
}
int main()
{
char ch[80];
int i = 0,k=0;
for (i = 0; i < 80; i++)
{
scanf("%c", &ch[i]);
if (ch[i] == '\n')
break;//如果遇到\n便退出循环此时有i个元素在ch里不包括\n
}
for (k = 0; k < i; k++)
{
printf("%c", ch[k]);
}
if (huiwen(ch, i))
printf("\nYes");
else
printf("\nNo");
return 0;
}