回文检测(包含中文与字符)

来源:互联网 发布:mac python 编辑:程序博客网 时间:2024/06/10 10:29
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <windows.h>void main(){       system("color f0");    char string[100];    int a,b,i,len,choice=1,flag;    //flag作个标记     while(choice)    {            system("cls");        printf("请输入您想判断的回文:");        gets(string);        len=strlen(string);        len--;  //因为数组的第一位为0         for(i=0;i<=len/2;){             unsigned char ch = string[i];   //取其中一个             if(ch > 0x8E && ch < 0xFF)      //判断是否为中文            {                a=i;b=len-i;                /*因为汉字是2个字节,一一对应去比较*/                unsigned tchar1=string[a];                unsigned tchar2=string[a+1];                unsigned tchar3=string[b];                unsigned tchar4=string[b-1];                if(tchar1==tchar4&&tchar2==tchar3)                     flag=1;                else                {                       flag=0;                    break;                }                i+=2; //移动2个字节            }            else            {                a=i;b=len-i;                if(string[a]==string[b])                        flag=1;                else                {                       flag=0;                    break;                }                i++;            }        }        if(flag)    printf("是回文\n");        else        printf("不是回文\n");        printf("继续按1 ; 退出按0。\n");        scanf("%d",&choice);        fflush(stdin);  //清除键盘缓冲区,把回车吃掉     }}
0 0
原创粉丝点击