C++简单回文算法C和C++实现对比

1.实现简答回文算法

编写一个程序,判断一个字符串是否为"回文"。回文串:字符串字符从前往后与从后往前一致(中心对称)。

2.回文算法思路

通过回文字符串的移位比较,检查是否为回文。

3.回文算法的代码实现

(1).C语言实现回文算法

#include 
#include 
int main()
{
      char a[105];
      int i,l;
      while(scanf("%s",a)!=EOF)//多组输入
      {
          l=strlen(a);//取字符串长度
          for(i=0;i=l/2) printf("yes\n");//对比次数大于字符串长一半,是回文
      }
      return 0;
}

程序测试结果如下:

C++简单回文算法C和C++实现对比_第1张图片

(2).C++实现回文算法

#include
#include
#include
#include


int main()
{
	string a;
	while (1)//多组输入
	{
		cin >> a;
		int i, flag = 1;//标志位为1
		char b;
		stack q;
		for (i = 0; i < a.length(); i++)
		{
			q.push(a[i]);//依次入栈
		}
		for (i = 0; i < a.length(); i++)
		{
			b = q.top();//取栈顶
			if (b != a[i]) { flag = 0; break; }//栈顶与相应位字符不同,非回文,标志位改为0,退出循环
			q.pop();//出栈
		}
		if (flag) cout << "Yes" << endl;//标志位为1,是回文
		else     cout << "No" << endl;//标志位改变,非回文
	}
	return 0;
}

程序测试结果如下:

C++简单回文算法C和C++实现对比_第2张图片

 

你可能感兴趣的:(C++)