Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1323731
  • 博文数量: 168
  • 博客积分: 2124
  • 博客等级: 大尉
  • 技术积分: 2590
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-16 23:51
文章分类

全部博文(168)

文章存档

2014年(6)

2013年(74)

2012年(71)

2011年(17)

分类: C/C++

2013-08-08 13:14:53

该题属于华为机试第一题的难度,很简答,一小会就写完了。


点击(此处)折叠或打开

  1. /***********************************
  2. 比较一个数组的元素 是否为回文数组

  3. eg. 上海自来水来自海上
  4. ************************************/

  5. /*
  6. int is_Palindrome_num(char *input)
  7. 是,返回1
  8. 不是,返回0
  9. */

  10. #include<stdio.h>
  11. #include<string.h>
  12. /*****************************************
  13. 编程思路:
  14. 将字符串最后一个元素与第一个元素比较,注意一下奇偶即可(补:不用判断)
  15. *****************************************/
  16. int is_Palindrome_num(char *input)
  17. {
  18.     int i, len, flag, len1;
  19.     
  20.     len = strlen(input);    
  21. //    flag = len % 2;//0偶数,1奇数(奇偶不用判断,是奇数的话中间以为并不需要比较)
  22.     len1 = len / 2;
  23.     
  24.     for(i = 0; i < len1; i++)
  25.     {
  26.         if(input[i] ==input[len-1-i])
  27.             continue;
  28.         else
  29.             return 0;
  30.     }        
  31.         return 1;        
  32. }

  33. int main(int argc, char**argv)
  34. {
  35.     int i;
  36.     char *input = "zxcvvcxz";
  37.     
  38.     i = is_Palindrome_num(input);
  39.     printf("result = %d", i);
  40.     
  41.     while(1);
  42. }

阅读(916) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~