C语言编写一个程序,判断输入的一个字符串是否是回文。

#include<stdio.h>#include"string.h"intmain(){intx,y,i;charst1[100],*p;gets(st1);x=str... #include <stdio.h>
#include "string.h"
int main()
{
int x,y,i;
char st1[100],*p;
gets(st1);
x=strlen(st1);
char st2[x];
for(i=0;i<x;i++)
{
*p=st1[i];
st2[x-i-1]=*p;
}
y=strcmp(st1,st2);
if(y==0) printf("YES");
if(y!=0) printf("NO");
}

哪出问题了
展开
 我来答
小夏聊生活
高能答主

2019-12-07 · 专注于分享生活知识,热爱生活
小夏聊生活
采纳数:447 获赞数:114609

向TA提问 私信TA
展开全部

源代码如下:

#include <stdio.h>

int main()

{

int n, reversedInteger = 0, remainder, originalInteger;

printf("输入一个整数: ");

scanf("%d", &n);

originalInteger = n;

// 翻转

while( n!=0 )

{

remainder = n%10;

reversedInteger = reversedInteger*10 + remainder;

n /= 10;

}

// 判断

if (originalInteger == reversedInteger)

printf("%d 是回文数。", originalInteger);

else

printf("%d 不是回文数。", originalInteger);

return 0;

}

扩展资料

1、函数的返回值是通过函数中的return语句获取的。

2、函数值的类型。

3、如果函数值的类型和return语句中表达式的值不一样,则以函数类型为准。

4、如果调用函数中没有return语句,并不带回一个确定的用户需要的值,函数不是不带回值,而只是不带回有用的值,带回一个不确定的值。

wanfustudio
推荐于2017-09-23 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3729万
展开全部
不用那么麻烦,看看这种思路

一个字符串如果是回文,就是两端相对于中心位置对称

123321
123-对称点-321

12321
12---3(对称点)--21

只需要拿左边这半边的字符,与右边的比较,如果一样,就是回文

#include <stdio.h>
#include "string.h"

void main()
{
int x,i;
char st1[100]={0};

gets(st1);

x=strlen(st1);

for(i = 0; i <= x/2; i++)///比到一半就不比了,原理已讲
{
if(st1[i] != st1[x-i-1])///这就是比较两端的字符
{
break;//不是回文
}
}

if(i> x/2)///没执行break,就是回文
printf("YES");
else
printf("NO");
}
追问
规定用指针,可以改一下么
追答
#include 
#include
#include

void main()
{
int x,i;
char *st1=NULL;

st1 = (char *)malloc(100 * sizeof(char));
if(NULL == st1)
{
printf("malloc failed!\n");
return;
}

memset(st1,0, 100);

gets(st1);

x=strlen(st1);

for(i = 0; i x/2)///没执行break,就是回文
printf("YES");
else
printf("NO");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gongxiaolei_90
2011-11-15 · 超过19用户采纳过TA的回答
知道答主
回答量:73
采纳率:100%
帮助的人:22.6万
展开全部
char st2[x];
数组的长度不能用变量,只能像st1那样指定长度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
勤苦又肃然灬财宝5066
2012-06-18 · TA获得超过5.5万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:4118万
展开全部
定义数组时[ ]内必须是常量表达式。char st2[x]错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
snrbj1988
2011-11-15 · TA获得超过415个赞
知道小有建树答主
回答量:147
采纳率:100%
帮助的人:148万
展开全部
主函数应该返回0表示程序成功运行;
在程序最后加句:
return 0;
追问
不行啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式