c語言判斷回文字符串函數(shù) 用c語言實現(xiàn)判斷回文?
用c語言實現(xiàn)判斷回文?我已經(jīng)修改了你的函數(shù),結(jié)果可以正確運行,如下intmirror(char*P){intlen=0char*t=Pwhile(*(t))LEN//變量LEN不能是t=t-2whil
用c語言實現(xiàn)判斷回文?
我已經(jīng)修改了你的函數(shù),結(jié)果可以正確運行,如下
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
}]/*我認為您的錯誤在于忽略了回文數(shù)是偶數(shù)還是奇數(shù),忽略了字符串的結(jié)尾字符0,
用C語言判斷字符串是否為回文?
1=對于結(jié)束,比較并使開始和結(jié)束——連續(xù);只要有不平等,退出和返回都是假的。
2. 具體代碼如下。通過使用while循環(huán),如果遇到不相等的對應(yīng)字符,將立即退出。回文字符串返回1,而不是0。輸入?yún)?shù)包括字符串STR及其長度len。
3. 測試數(shù)據(jù)為“ABA”和“ABC”,結(jié)果為1和0,如圖
1。在判斷I-1之前,讓我指向數(shù)組的最后一個元素。
2. 具體實現(xiàn)方法及結(jié)果如下(下圖為回文數(shù)輸入時的結(jié)果):
3。不輸入回文數(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”)/*獲取用戶的輸入字符串*/獲取(STR)/*判斷是否回復(fù)并輸出相應(yīng)信息*/if(ispalindrome(STR)==isupalindrome){printf(STRuyes)}else{printf(STRuno)}return 0}/*判斷給定字符串是否為回文STR——如果STR為回文STR,則返回1;否則,如果字符串長度為0或0,則返回0*/int ispalindrome(char STR)}{int length=0/*string length*/int i=0/*否定,則不是回文;否則,比較開頭和結(jié)尾對應(yīng)的字符:-如果任何一組對應(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}