C语言之判断字符串是否为回文

题目描述 输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。

输入格式 输入一行字符串,长度小于 100。

输出格式 如果字符串是回文,输出 yes;否则,输出 no。

输入abcdedcba

输出 yes

复制代码
#include<stdio.h>
#include<string.h>
int main()
{
	char a[100];
	int i;
	scanf("%s",a);//字符数组的输入方式,一整个输入字符串。
	int count=strlen(a);
	int j=count-1;
	for(i=0;i<j;i++,j--){
		if(a[i]!=a[j]){
			break;
		}
	}
	if(i>=j){//如果该条件成立,说明上述循环完整进行完没有中断,所以每个都一一对应,所以是回文数。
		printf("yes");
	}else{
		printf("no");
	} 
	return 0;
} 

因为要通过以下方法进行判断是否是回文数,所以要计算出字符串的总长度,这就想到要用怕短字符串长度的函数(注意一下此函数应当怎么用)。