实现一个函数,判断输入字符串是否对称
2014-07-18 21:28
471 查看
【问题描述】实现一个函数,判断输入字符串是否对称?
例如,
1234554321,symmetry;
12345654321,symmetry;
1,symmetry
【解题思路】
见代码
[cpp]
view plaincopyprint?
代码:
[cpp]
view plaincopyprint?
#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; //地址自增
}
*/
例如,
1234554321,symmetry;
12345654321,symmetry;
1,symmetry
【解题思路】
见代码
[cpp]
view plaincopyprint?
代码:
代码:
[cpp]
view plaincopyprint?
#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; //地址自增
}
*/
相关文章推荐
- 实现一个函数,判断输入字符串是否对称?
- PHP实现在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。
- (PHP实现剑指offer)在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 使用三个函数(_strdup _strrev _stricmp)判断一个字符串是否对称
- 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。
- 经典面试题:求数组的最大子序列和;实现函数 :判断一个自负喜欢是否是另一个字符串旋转所得;杨氏矩阵中查找一个数。
- (PHP实现剑指offer)在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 任意输入20个正整数,找出其中的素数,并将这些素数按由小到大排序。要求:判断一个数是否为素数用函数实现:排序用函数实现
- 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.
- 1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1
- 1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1
- 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。(Python实现)
- 《剑指offer》-实现一个函数用来判断字符串是否表示数值(包括整数和小数)
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- 用栈和队列判断输入字符串是否是回文(回文具有两边对称的性质)
- 编写函数,判断一个字符串是否是回文
- C#实现如何判断一个字符串是否为整数和浮点
- 编写函数,判断一个字符串是否是回文
- 编写一个判断素数的函数,在主函数输入一个整数时,输出是否素数的信息。