A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

//
//  main.c
//  指针练习3
//
//  Created by 李言 on 15/6/14.
//  Copyright (c) 2015年 ly. All rights reserved.
//

/*
编写一个函数,判断某个字符串是否为回文。
回文就是从左边开始读 和 从右边开始读 都是一样的,比如"abcba"
*/
#include <stdio.h>
#include <string.h>
#define SIZE 100

void huiWen(char *p1);
int main() {
    char str[SIZE] = "0";
    char *p = str;
    printf("输入一个字符串,来判断该字符串是不是回文\n");
//    提示输入
    scanf("%s", p);
    huiWen(p);
    return 0;
}
void huiWen(char *p1){
    //    实现:
    //    1.计算字符串长度
    long int len;
    int i = 0, j = 0;
    len = strlen(p1);
    //    2.依次比较第一个和最后一个
    for(i=0; i<len/2; i++){
        //        如果有任一个字符不能和相对应位置字符相等,则不是回文,并跳出循环
        if(*(p1+i) != *(p1+len-1-i)){
            printf("该字符不是回文\n");
            break;
        }else if(*(p1+i) == *(p1+len-1-i)){
            //            如果相等,则比较下一位,并做标记
            j++;
        }
        if(j == len/2){
            printf("该字符是回文");
        }
    }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马