输入一个字符串,判断其是否为回文串。例如:readdaer就是回文字符。
解题思路:定义两个变量“i,j”,当i为首字符时,j为末字符,比较两者是否相同,不同则输出不是回文字符,相同则继续比较,直到i>j时,两者还相同,输出字符串为回文字符。
注:1.以math.h作为头文件,是用于声明常用的一些数学运算,数学函数库,一些数学计算的公式的具体实现是放在math.h里
2.string.h是C语言标准库中一个常用的头文件,在使用到字符数组时需要使用
代码如下:
#include <stdio.h>
#include <math.h>
#include <string.h>
int main()
{
char a[1024];
int i, j;
gets(a); //从键盘中输出字符
j = strlen(a) - 1; //将字符串的长度-1之后赋值给j
for (i = 0; i < j; i++, j--) //将字符从两侧开始逐渐对比是否相同
if (a[i] != a[j]) break; //不同则跳出循环
if (a[i] == a[j])
printf("该字符串是回文字符\n"); //若相同则输出
else printf("该字符串不是回文字符\n"); //若不相同则输出
return 0;
}
运行结果显示:
weerreew是回文字符
wwwppp不是回文字符
如果有不懂或者指正的地方,欢迎大家在评论里面提出来,我会尽自己的能力去解答(^^)
欢迎大家进行指正评论,共同进步!!!