在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Abstract Introduction palindrome.c / C
1 /*
2 (C) OOMusou 2008 http://oomusou.cnblogs.com 3 4 Filename : palindrome.c 5 Compiler : Visual C++ 9.0 / Visual Studio 2008 6 Description : Demo how to test palindrome 7 Release : 10/27/2008 1.0 8 */ 9 10 #include <stdio.h> 11 #include <string.h> 12 13 int is_palindrome(char *s) { 14 int i, len; 15 16 len = strlen(s); 17 18 for(i = 0; i < (len /2); i++) { 19 if (s[i] != s[len-i-1]) 20 return 0; 21 } 22 23 if (i >= len/2) 24 return 1; 25 else 26 return 0; 27 } 28 29 int main() { 30 char s[256]; 31 32 while(1) { 33 gets(s); 34 35 if (is_palindrome(s)) 36 printf("%s is palindrome\n", s); 37 else 38 printf("%s is not palindrome\n", s); 39 } 40 }
for(i = 0; i < (len /2); i++) {
if (s[i] != s[len-i-1]) return 0; }
感謝沐枫的提醒,在C++有更精簡的寫法。 palindrome.cpp / C++
1 /*
2 (C) OOMusou 2008 http://oomusou.cnblogs.com 3 4 Filename : palindrome.cpp 5 Compiler : Visual C++ 9.0 / Visual Studio 2008 6 Description : Demo how to test palindrome 7 Release : 10/30/2008 1.0 8 */ 9 10 #include <iostream> 11 #include <string> 12 #include <algorithm> 13 14 using namespace std; 15 16 int is_palindrome(string s) { 17 return equal(s.begin(), s.begin() + s.length() /2, s.rbegin()); 18 } 19 20 int main() { 21 string s; 22 23 while(1) { 24 cin >> s; 25 26 if (is_palindrome(s)) 27 cout << s << " is palindrome" << endl; 28 else 29 cout << s << " is not palindrome" << endl; 30 } 31 }
return equal(s.begin(), s.begin() + s.length() /2, s.rbegin());
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论