2013-03-08 32 views
2

有沒有辦法在比較兩個字符串時刪除空格。該任務創建一個不區分大小寫的迴文,並且必須忽略空格。到目前爲止,我有C程序 - 迴文功能 - 幾乎完全完成一個小問題

void cmpNoCase(char str1[], char str2[]){ 
    if(strcasecmp(str1, str2)==0){ 
     printf ("%s is a palindrome.\n", str2); 
    } else { ("%s is NOT a palindrome.\n", str2); 
} 
return; 
} 

和內部主要我有這樣的for循環扭轉從用戶首先輸入字符串。

for (i=0, j= strlen(input2)-1; i < j; i++, j--){ 

    index=input2[i]; 
    input2[i]=input2[j]; 
    input2[j]=index; 
} 

注:我有兩個串區分大小寫比較但比較字符串的索引(其爲輸入的迴文)當需要空間考慮另一功能。我在函數和循環中唯一的區別是第一個函數的'strcmp',第二個'strcasecmp'忽略大小寫。

+0

這是關於我稱爲input2的第二個輸入的字符串。 – user2142053 2013-03-08 17:22:05

+0

試圖瞭解你的問題... 如果input1 =「A b c d」和input2 =「dcba」,那麼他們必須根據您的要求聲明爲迴文? – Vikram 2013-03-08 17:23:48

回答

0

你可以嘗試編寫自己的比較函數。像while(i<strlen(yourstr){// your logic for comparing the string character by character}更具體地while(i<strlen(yourstr)){char a=yourstr[i]; if(a=' ') {continue;}; // rest of your comparison code} 否則你可以這樣做:while((a=yourstring[i])!='\n'){i++; if(a=' ') {continue;}

相關問題