首页 > 编程知识 正文

c语言用指针判断回文,c语言判断是否为回文数

时间:2023-05-06 18:36:39 阅读:28231 作者:230

详细判断回文字符串和回文数算法的c语言代码!

一.判断一个字符串是否为回文字符串

#包含

#包含

#包括//strlen

#定义是1

#define NO 0

#define uchar unsigned char

#定义uint unsigned int

#define ushort unsigned short

#定义ulong unsigned long

#define u8 uchar

#define u16 ushort

#定义u32 ulong

u8ispalindromestring(u8*pstr );

输入主(语音) )。

{

u8 array[]='abcdefgfedcba ';

u8 value=0;

value=ispalindromestring;

if (值)

{

printf (是回文字符串! n ';

}

else

{

printf '不是回文字符串! n ';

}

返回0;

}

//想法:

//)1)字符串的开头和结尾分别用2个指针指示

//)2)比较两指针指向的字符是否相同

//)3)如果相同,则头指针向后移动,尾指针向前移动

//)4)不同时返回NO,表示不是回文字符串

//(5)重复2.3.4

//6 )如果头尾指针指向的位置相邻或相同,则返回YES,表示是回文字符串

u8ispalindromestring(u8*pstr ) )。

{

u8num=strlen ((常数char * ) pStr );

u8 *pHead=pStr; //指向字符串的开头

u8 *pTail=pStr num-1;

for (; pHead=pTail; pHead,pTail-- )

{

if(*phead!=*pTail )

{

返回否;

}

(else if (phead==PTA il|| phead1==PTA il ) ) ) ) ) ) ) )

{

返回是;

}

}

}

二、判断一个数是否为回文数

#包含

#包含

#包括//strlen

#定义是1

#define NO 0

#define uchar unsigned char

#定义uint unsigned int

#define ushort unsigned short

#定义ulong unsigned long

#define u8 uchar

#define u16 ushort

#定义u32 ulong

u8ispalindromenumber(u32num;

输入主(语音) )。

{

u32 num=1221;

u8 value=0;

value=ispalindromenumber(num;

if (值)

{

printf (是回文数! n ';

}

else

{

printf (不是回文数! n ';

}

返回0;

}

/*

分析:因为回文数从上往下看的数值和从下往上看的数值相等。

因此,能够将数值从下位分割为上位,并对其进行再组合,判断新组合

的数值是否与原数值相等,即可判断回文数!

*/

u8ispalindromenumber(u32num )。

{

u32 temp=num;

u32 sum=0;

wile(num )。

{

sum=sum*10 num; //num从低到高依次取出,重新组合为整数

num /=10; //num拆下一位

}

if(sum==temp ) )。

{

返回是;

}

else

{

返回否;

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。