输入一个字符串 判断其是否为回文串 下面的这个小算法有错误吗? 如果直接用字符串算法该怎么写?
#include<stdio.h>#include<string.h>intmain(){inti,n,i0,y,s;chara[21];scanf("%d",&s);f...
#include<stdio.h>
#include<string.h>
int main()
{
int i,n,i0,y,s;
char a[21];
scanf("%d",&s);
fflush(stdin);
while(s!=0)
{
s--;
y=0;
gets(a);
i=strlen(a);
i0=i/2;
for(n=0;n<=i0;n++)
{
if(a[n]!=a[i-1-n])
y++;
}
if(y==0)
printf("Yes\n");
else
printf("No\n");
}
return 0;
} 展开
#include<string.h>
int main()
{
int i,n,i0,y,s;
char a[21];
scanf("%d",&s);
fflush(stdin);
while(s!=0)
{
s--;
y=0;
gets(a);
i=strlen(a);
i0=i/2;
for(n=0;n<=i0;n++)
{
if(a[n]!=a[i-1-n])
y++;
}
if(y==0)
printf("Yes\n");
else
printf("No\n");
}
return 0;
} 展开
1个回答
展开全部
我以前回答过这样的问题,摘抄如下:
看到了一个题目,其中有个词汇:“回数”,后面的说明是:就是正读反读都一样。
那么如:qwertrewq,就是回数,qwertyu,就不是回数。
为此题目,编写C程序如下:
//===============================================
最佳答案:
#include"stdio.h"
void main(void)
{
unsigned char l = 0, i, j, temp1[200];
printf("\n\n\n Please Input wenzi chuan: ");
scanf("%s", temp1); //输入到TEMP1
while(temp1[l] != '\0') l++; //测出字符串长度.
j = l / 2; //半个字串长度
for (i = 0; i <= j; i++)
if (temp1[i] != temp1[l - 1 - i])
break;
if (i == (j + 1)) printf("y");
else printf("n");
}
//------------------------
//上述程序,编译后运行,最多可以输入200个字符,回车键结束,程序会自动输出
y、n。
//===============================================
回答时间:2011-4-13 09:12
看到了一个题目,其中有个词汇:“回数”,后面的说明是:就是正读反读都一样。
那么如:qwertrewq,就是回数,qwertyu,就不是回数。
为此题目,编写C程序如下:
//===============================================
最佳答案:
#include"stdio.h"
void main(void)
{
unsigned char l = 0, i, j, temp1[200];
printf("\n\n\n Please Input wenzi chuan: ");
scanf("%s", temp1); //输入到TEMP1
while(temp1[l] != '\0') l++; //测出字符串长度.
j = l / 2; //半个字串长度
for (i = 0; i <= j; i++)
if (temp1[i] != temp1[l - 1 - i])
break;
if (i == (j + 1)) printf("y");
else printf("n");
}
//------------------------
//上述程序,编译后运行,最多可以输入200个字符,回车键结束,程序会自动输出
y、n。
//===============================================
回答时间:2011-4-13 09:12
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询