c語(yǔ)言判斷回文字符串函數(shù) 用c語(yǔ)言實(shí)現(xiàn)判斷回文?
用c語(yǔ)言實(shí)現(xiàn)判斷回文?我已經(jīng)修改了你的函數(shù),結(jié)果可以正確運(yùn)行,如下intmirror(char*P){intlen=0char*t=Pwhile(*(t))LEN//變量LEN不能是t=t-2whil
用c語(yǔ)言實(shí)現(xiàn)判斷回文?
我已經(jīng)修改了你的函數(shù),結(jié)果可以正確運(yùn)行,如下
intmirror(char*P)
{
intlen=0char*t=P
while(*(t))LEN//變量LEN不能是
t=t-2
while((*P==*t&&(t>=P))//{
P t-->
if(t
{
--t]}如果(t==P |*P==*t)//
return N1
else
return N0
}]/*我認(rèn)為您的錯(cuò)誤在于忽略了回文數(shù)是偶數(shù)還是奇數(shù),忽略了字符串的結(jié)尾字符0,
用C語(yǔ)言判斷字符串是否為回文?
1=對(duì)于結(jié)束,比較并使開(kāi)始和結(jié)束——連續(xù);只要有不平等,退出和返回都是假的。
2. 具體代碼如下。通過(guò)使用while循環(huán),如果遇到不相等的對(duì)應(yīng)字符,將立即退出?;匚淖址祷?,而不是0。輸入?yún)?shù)包括字符串STR及其長(zhǎng)度len。
3. 測(cè)試數(shù)據(jù)為“ABA”和“ABC”,結(jié)果為1和0,如圖
1。在判斷I-1之前,讓我指向數(shù)組的最后一個(gè)元素。
2. 具體實(shí)現(xiàn)方法及結(jié)果如下(下圖為回文數(shù)輸入時(shí)的結(jié)果):
3。不輸入回文數(shù)時(shí),顯示結(jié)果如下:
~]#include<stdio。H>#包含<string。H>#define is?PALINDROME 1?define is?NOT?PALINDROME 0?define STR?YES “YES ”define STR?NO “NO ”define MAX?SIZE 80int isPalindrome(char STR[])int main(){char STR[MAX?SIZE 1]printf(“please input a string:n”)/*獲取用戶(hù)的輸入字符串*/獲?。⊿TR)/*判斷是否回復(fù)并輸出相應(yīng)信息*/if(ispalindrome(STR)==isupalindrome){printf(STRuyes)}else{printf(STRuno)}return 0}/*判斷給定字符串是否為回文STR——如果STR為回文STR,則返回1;否則,如果字符串長(zhǎng)度為0或0,則返回0*/int ispalindrome(char STR)}{int length=0/*string length*/int i=0/*否定,則不是回文;否則,比較開(kāi)頭和結(jié)尾對(duì)應(yīng)的字符:-如果任何一組對(duì)應(yīng)字符不相等,則不是回文;--否則,則是回文。*/if((length=strlen(STR))<=0){return is}NOT回文}else{for(i=0 i< length/2 i){if(STR[i]!=str[length-1-i]){return IS{NOT{PALINDROME}}}return IS{PALINDROME}