菜鸟问C语言题啦~\(≥▽≤)/~

简单的C语言问题:判断回文——正读反读都完全一样的单词,e.g. noon level。写一个谓词函数IsPalindrome 如果字符串str是回文就返回TRUE。

下面是我的代码,估计错误应该很多。。。大家来围观一下 找找错啊~~~

//File:IsPalindrome

#include<stdio.h>
#include"strlib.h"
#include"genlib.h"
#include"simpio.h"

/* Function prototypes */

bool IsPalindrome(string str);

/* Main program */

main()
{
string ch;
printf("Enter a letter.\n");
ch=GetLine();
return(IsPalindrome(string str));
}

/* function */

bool IsPalindrome(string str)
{
int length;
char letter1,letter2;
length=StringLength(str);
for(i=0,i<length/2,i++){
letter1=IthChar(str,i);
letter2=IthChar(str,length-i-1);
if(StringEqual(letter1,letter2)){
return(TRUE);
}else{
return(FALSE);
break;
}
}
}
话说是C 不是C++

你这个搞的好复杂看看这个吧
#include <stdio.h>
#include<string.h>
void main()
{
char str[100];
int len,i;
printf("please input a string:");
gets(str);
len=strlen(str);
for(i=0;i<=len/2;i++)
{
if(str[i]!=str[len-1-i])
{
printf("%s 不是回文\n",str);
break;
}
}
if(i>len/2)
printf("%s 是回文\n",str);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-11-10
好像不是C语言的,是C++的吗?

补充回答:
那请问楼主,C语言有bool型吗?
第2个回答  2009-11-10
首先main应该是bool型的

bool IsPalindrome(string str)
{
int i;
int length;
length=strlen(str);
for(i=0,i<length/2,i++){
if(str[i]!=str[length-i])
return (FALSE);
}
return(TRUE);
}
相似回答