输入一个英文单词,判断该单词是否是回文,要求用字符数组实现
算法设计:
1.分别从左右两端开始,比较对应的字符是否相等
2.若对应的字符相等,则继续比较下一对字符;否则,退出循环
3.若所有对应的字符均相等,则是回文;否则,不是回文
源程序:
#include<stdio.h>
#include<string.h>
main()
{
char a[100];
int i,j;
puts("Please
input a word:"); // 起到提示作用,使程序更友好一些
gets(a);
// 字符数组的输入函数
i=0;
// 最左一个元素的下标
j=strlen(a)-1;
// 最右一个元素的下标
while(i<j) // 左右两个下标未汇合是循环
{
if(a[i]==a[j])
{
i++; // 若对应两个字符相等,则比较下一对
j++;
}
else
break;
//
否则,跳出循环
}
if(i>=j)
printf("%s是回文。\n",a);
else
printf("%s不是回文。\n",a);
}