计算机二级C 辅导:回文判断计算机二级考试
文章作者 100test 发表时间 2009:05:08 18:17:38
来源 100Test.Com百考试题网
2009年下半年全国计算机等级考试你准备好了没?考计算机等级考试的朋友,2009年下半年全国计算机等级考试时间是2009年9月19日至23日。更多优质资料尽在百考试题论坛 百考试题在线题库
最近复习C ,在看《Accelerated C 》时,对回文的例子印象很深刻,代码简洁明了,令人惊叹:
bool is_parlindrome(const string&. s)
{
return equal(s.begin(), s.end(), s.rbegin()).
}
也可以这么写:
return equal(s.begin(), s.begin() s.length() / 2, s.rbegin()).
撇开STL的用法,用原始的手工写法,一般人都会这么写的
bool is_palindrome(const char* s)
{ int len.
len = strlen(s).
for (int i = 0.
i <. (len / 2).
i)
{
if (s[i] != s[len-i-1])
return false.
}
return true.
}
我觉得,果真如此,用两个指针判断更佳:
bool is_parlindrome(const char* src)
{
assert(src != NULL).
const char *end = src.
while (*end)
end. // has pointed to
--end.
while (src <. end) {
if (*src != *end--)
return false.
}
return true.
}
当然,还可以用递归方法,就不多说了。
特别推荐:
2009年9月全国计算机等级考试时间及科目预告