我試圖確定一個短語是否是一個迴文(從左到右相同的一個詞)或不,但我不能讓它工作。出了什麼問題?我無法使用指針或遞歸或字符串類型變量迴文沒有指針和遞歸
#include <stdio.h>
#include <string.h>
int main()
{
int i,j = 0,length;
char space = ' ';
char phrase [80],phrase2[80],phrase3[80];
printf("Give me the phrase: ");
gets(phrase);
length = strlen(phrase);
for(i =0; i <= length - 1; i++)
{
if(phrase[i] != space) //Makes the phrase without spaces
{
phrase2[i] = phrase[i];
j++;
}
}
for(i = length -1; i >= 0;i--)
{
if(phrase[i] != space) //Makes the phrase backwards an without spaces
{
phrase3[j] = phrase[i];
j++;
}
}
length = strlen(phrase2);
for(i =0; i <= length -1;i++) //Compare the phrases to know if they are the same
{
if(phrase2[i] != phrase3[i])
{
printf("It's not a palindrome\n");
return 0;
}
}
printf("It's a palindrome\n");
return 0;
}
任何錯誤信息?你的樣本輸入和輸出是什麼? – BoltClock 2010-10-14 01:04:41
你需要重置j – Anycorn 2010-10-14 01:06:22
我總是得到「這不是迴文」的信息,我輸入的例子絕不會是奇數或偶數。短語2它應該得到neveroddoreven和短語3這個詞在後面沒有空格至少是一樣的neveroddoreven – Enrique 2010-10-14 01:09:51