您的位置:首页 > 其它

实现一个函数,判断输入字符串是否对称?

2012-10-27 00:14 295 查看
【问题描述】实现一个函数,判断输入字符串是否对称?

例如,

1234554321,symmetry;

12345654321,symmetry;

1,symmetry

【解题思路】

见代码

代码:

#include <string>
#include <iostream>
using namespace std;

#define MAX 100

bool symmetry(char *str)
{
	int n;
	n=strlen(str);

	/*
	//如果字符串为NULL,或者只有一个字符
	if (n==0 || n==1)
		return true;
	*/

	//如果有一个字符不对称,那么字符串就是不对称
	for (int i=0;i<n/2;++i)
	{
		if (*(str+i) != *(str + n-1 -i))
			return false;	
	}

	return true;
}

int main()
{
	//定义一个数组,从标准输入输入字符串
	char array[MAX];
	cin>>array;

	//用数组名初始化指针str
	char *str=array;

	//
	cout<<"This string is symmerty or not: "<<symmetry(str)
		<<endl<<endl;

	return 0;
}

/*
统计字符串长度

1.
n=strlen(str); 

2.
int n=0;

while(*p != '\0') //指向的内容与字符'\0'作比较
{
   ++n;
   ++p; //地址自增
}

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐