判断是否是回文串 例如abcddcba就是一个回文串 不知道程序那里出错了
#include<stdio.h>#include"string.h"voidmain(){charstr[30];inti,j;printf("inputastring...
#include <stdio.h>
#include "string.h"
void main()
{char str[30];
int i,j;
printf ("input a string:");
gets(str);
for (i=0,j=strlen(str)-1;(str[i]==str[j])&&(i<=j);i++,j++)
if(i<j) printf ("The string is not a palindrome string.\n");
else printf ("The string is a palindrome sting.\n");
} 展开
#include "string.h"
void main()
{char str[30];
int i,j;
printf ("input a string:");
gets(str);
for (i=0,j=strlen(str)-1;(str[i]==str[j])&&(i<=j);i++,j++)
if(i<j) printf ("The string is not a palindrome string.\n");
else printf ("The string is a palindrome sting.\n");
} 展开
展开全部
出的错在这儿:
for (i=0,j=strlen(str)-1;(str[i]==str[j])&&(i<=j);i++,j++)
if(i<j) printf ("The string is not a palindrome string.\n");
else printf ("The string is a palindrome sting.\n");
它的意思是说:有一次i<j就输出"The string is not a palindrome string.\n"
有一次i>=j,就输出"The string is a palindrome sting.\n"
另外,j应该是向i移动的。
修改:在for的最后加个分号,然后把j++改为j--就好了~O(∩_∩)O~
for (i=0,j=strlen(str)-1;(str[i]==str[j])&&(i<=j);i++,j--);
for (i=0,j=strlen(str)-1;(str[i]==str[j])&&(i<=j);i++,j++)
if(i<j) printf ("The string is not a palindrome string.\n");
else printf ("The string is a palindrome sting.\n");
它的意思是说:有一次i<j就输出"The string is not a palindrome string.\n"
有一次i>=j,就输出"The string is a palindrome sting.\n"
另外,j应该是向i移动的。
修改:在for的最后加个分号,然后把j++改为j--就好了~O(∩_∩)O~
for (i=0,j=strlen(str)-1;(str[i]==str[j])&&(i<=j);i++,j--);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询