判断回文字符串的C程序,有小毛病……

来源:百度知道 编辑:UC知道 时间:2024/06/28 12:51:34
如题,若输入的不是回文,则程序可正确响应;但如果确实是回文,程序就自己退出去了……望高人指点……
#include <stdio.h>
#define K 200
int isPalindrome(char str[]);
int lng=0;
main()
{
int i=0;
char inp[K],inp_elem;
loop:
printf("请输入字符串,以回车结束:\n");
scanf("%c",&inp_elem);
while(inp_elem!='\n')
{
inp[i]=inp_elem;
i++;
lng++;
scanf("%c",&inp_elem);
}
if(isPalindrome(inp))
printf("该字符串是回文字符串\n");
else
printf("该字符串不是回文字符串\n");
system("pause");
goto loop;
}

int isPalindrome(char str[])
{
int j=0;
if(j==lng-j-1)
return 1;
else if(str[j]==str[lng-j-1])
{
j++;
isPalindrome(str);
}
else
retu

对你的 isPalindrome 进行了修改,程序如下:

#include <stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define K 200
int isPalindrome(char str[]);
int lng=0;
int j=0;
main()
{
int i=0;
char inp[K],inp_elem;
loop:
printf("请输入字符串,以回车结束:\n");
scanf("%c",&inp_elem);
while(inp_elem!='\n')
{
inp[i]=inp_elem;
i++;
lng++;
scanf("%c",&inp_elem);
}
inp[i]='\0';
lng=strlen(inp);
if(isPalindrome(inp))
printf("该字符串是回文字符串\n");
else
printf("该字符串不是回文字符串\n");
system("pause");
goto loop;
}

int isPalindrome(char str[])
{
if(j==(lng-1)/2)
return 1;
else if(s

编写一段程序判断输入的字符串是否为回文 ? C语言程序编辑.编辑一程序在主函数中用字符指针的方法判断输入字符串是否回文,是输出字符YES否则NOT c语言,输入行字符串。判断是否为回文 请编写程序,判断输入的字符串是否为回文?若是则输出yes,否则输出no。 这是我写的判断主字符串是否包含子字符串的C程序。 C++如何判断某字符串全是数字(包括有小数点)?需要完整的程序 挑战程序员的简单但又超级难题?输入一个字符串判断其是不是回文字。 编写一年12编写一个函数,判断输入的字符串是否是回文。 请用C语言编写一个程序,判断一个字符串插入到另一个字符串的指定位置 c语言编程 利用字符串指针编写 一程序求所有不超过200的N值,N的平方是具有对称性的回文数