编写一个程序,判断一个字符串是否为回文。
思路:
要判断输入的字符串是否为“回文”,首先计算出字符串的长度即字符个数,然后需要一个bool型函数进行比较判断,最后得出结果。
算法函数分析:
定义一个num()函数计算字符串的字符个数,再定义一个bool型函数通过对该字符串的左右两边字符的对比,返回判断结果。
输入输出:
输入一个字符串;
输出该字符串是或者不是回文。
#include<iostream>
using namespace std;
bool huiwen(char *a,int b);
int num(char *a);
void main()
{
char a[8];
cin>>a;
cout<<(huiwen(a,num(a))?"yes":"no")<<endl;
}
int num(char *a) //计算数组字符个数
{
int num=0;
int i=0;
while(a[i]!='\0')
{
i++;
num++;
}
return num;
}
bool huiwen(char *a,int b) //判断是否是回文数
{
int n=b/2;
for(int i=0;i<n;i++)
{
if(a[i]!=a[b-1-i]) //左右对比
return false;
}
return true;
}
运行结果: