C语言 判断一个字符串是不是回文
#include<stdio.h>voidmain(){chara[100];inti=0,j=0;printf("Pleaseinputstring:");gets(a...
#include <stdio.h>
void main()
{
char a[100];
int i=0,j=0;
printf("Please input string:");
gets(a);
while(a[i]!='\0')
i++;
i--;
for(;j<=i;i--,j++)
{
if(a[i]!=a[j])
break;
}
if(j<=i)
printf("%s is not a palindrome\n",a);
else
printf("%s is a palindrome\n",a);
}
这是老师给的答案,while和for循环是表示的是什么意思,没看懂。
这是我做的 有错误 我觉得用if(s[i]==s[m+1-i])比较容易理解(例如:madam m是i,最后一个m是m+1-i;第二个a是i,倒数第二个a是m+1-i)
#include<stdio.h>
#include<string.h>
void main()
{
char s[100];
int i,m;
printf("Please input s[100]:");
gets(s);
m=strlen(s);
for(i=0;i<m;i++)
{
if(s[i]==s[m+1-i])
printf("%c is palindrome\n",s[100]);
else
printf("%c is not palindrome\n",s[100]);
}
} 展开
void main()
{
char a[100];
int i=0,j=0;
printf("Please input string:");
gets(a);
while(a[i]!='\0')
i++;
i--;
for(;j<=i;i--,j++)
{
if(a[i]!=a[j])
break;
}
if(j<=i)
printf("%s is not a palindrome\n",a);
else
printf("%s is a palindrome\n",a);
}
这是老师给的答案,while和for循环是表示的是什么意思,没看懂。
这是我做的 有错误 我觉得用if(s[i]==s[m+1-i])比较容易理解(例如:madam m是i,最后一个m是m+1-i;第二个a是i,倒数第二个a是m+1-i)
#include<stdio.h>
#include<string.h>
void main()
{
char s[100];
int i,m;
printf("Please input s[100]:");
gets(s);
m=strlen(s);
for(i=0;i<m;i++)
{
if(s[i]==s[m+1-i])
printf("%c is palindrome\n",s[100]);
else
printf("%c is not palindrome\n",s[100]);
}
} 展开
4个回答
展开全部
if(f
[a++]!=f
[b--])
就这么一条语句你就判断它是不是回文?
至少得来个循环吧。而且如果遇到相等还不能马上就说它是回文,还要把所有对应的字符判断完了才能说它是回文。
[a++]!=f
[b--])
就这么一条语句你就判断它是不是回文?
至少得来个循环吧。而且如果遇到相等还不能马上就说它是回文,还要把所有对应的字符判断完了才能说它是回文。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的思路没错,错在 回文 是 所有对应位置都匹配,有一个不匹配的就不是,改一下你的
if 语句就行了
if 语句就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
abcdefcba
请问,这是不是回文串,老师的程序输出什么,你的程序输出什么,差别在哪里,为什么会这样?
自己想好,比别人直接告诉你要深刻得多
请问,这是不是回文串,老师的程序输出什么,你的程序输出什么,差别在哪里,为什么会这样?
自己想好,比别人直接告诉你要深刻得多
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询