《字符串对称问题》由会员分享,可在线阅读,更多相关《字符串对称问题(2页珍藏版)》请在金锄头文库上搜索。
1、【题目】判断一个字符串是否对称。【解析】我的想法是首尾逐个对比,如果一个不相等,那说明这不对称,直接跳出循环,否则,说明该字符串是对称的。【代码】#include “stdafx.h“#include #include void Symmetry(std:string str) int len = str.size()-1;/获取std:string的长度可以用size()或length();int count = str.size()/2;/因为是首尾对比,后面一半的对比跟前面相同,/循环一半即可for(int i=0;icount;i+) if (str.at(i) != str.at(l
2、en-i) /string可以用定位下标,也可以用at(),如果不相等,直接return。printf(“%s is not a duichen stringn“, str.c_str();return; printf(“%s is a duichen stringn“, str.c_str(); /全部比较相同,说明是对称的。void SymmetryCString(CString str)int len = str.GetLength() -1;int count = str.GetLength()/2;for(int i=0;icount;i+) if(str.GetAt(i) != str.GetAt(len-i) /事实证明,凡是字符串都可以用下标定位。printf(“%S is not a Symmetry Stringn“, str);return;printf(“%S is a Symmetry Stringn“, str);int _tmain(int argc, _TCHAR* argv)Symmetry(“ABA“);Symmetry(“ABBA“);Symmetry(“ABC“);Symmetry(“ABABA“);Symmetry(“qwertyuioppoiuytrewq“);getchar();return 0;