输入一串字符(长度小于100),判断该串字符是否是回文串若该串字符 是输出“yes",否则输出”no“。
答案:3 悬赏:20 手机版
解决时间 2021-04-03 00:21
- 提问者网友:做自己de王妃
- 2021-04-02 15:04
输入一串字符(长度小于100),判断该串字符是否是回文串若该串字符 是输出“yes",否则输出”no“。
最佳答案
- 五星知识达人网友:毛毛
- 2021-04-02 15:20
#include
#include
void p(char b[],int n)
{
int i,c;
c=n/2;
for(i=0;i {
if(b[i]!=b[n-i-1])
break;
}
if(i==c)
puts("yes");
else
puts("no");
}
void main()
{
char a[100];
int n;
gets(a);
n=strlen(a);
p(a,n);
}追问嗯 谢谢,不过我采纳了第一个回答的人 不好意思、、
#include
void p(char b[],int n)
{
int i,c;
c=n/2;
for(i=0;i
if(b[i]!=b[n-i-1])
break;
}
if(i==c)
puts("yes");
else
puts("no");
}
void main()
{
char a[100];
int n;
gets(a);
n=strlen(a);
p(a,n);
}追问嗯 谢谢,不过我采纳了第一个回答的人 不好意思、、
全部回答
- 1楼网友:北方的南先生
- 2021-04-02 16:52
错的多了,首先指出一处,字符数组,初始化时必须指明其大小所以你的VOID P(char[],int n)中参数是错误的书写形式。
应该把参数char[]改成char[100]或者其他。还有return的时候因为yes不是字符而是字符串所以只能return ("yes")要用双引号,NO也是一样。还有貌似P失个不带任何返回数的函数把,最后不能用Printf去输出。还有你自定义的两个函数都是P怎么让程序区分,感觉你这个程序错误一大堆,算法就不说了追问谢谢,你说的都很有道理。我会继续努力的追答没关系
应该把参数char[]改成char[100]或者其他。还有return的时候因为yes不是字符而是字符串所以只能return ("yes")要用双引号,NO也是一样。还有貌似P失个不带任何返回数的函数把,最后不能用Printf去输出。还有你自定义的两个函数都是P怎么让程序区分,感觉你这个程序错误一大堆,算法就不说了追问谢谢,你说的都很有道理。我会继续努力的追答没关系
- 2楼网友:酒醒三更
- 2021-04-02 16:23
算法没有错误,主要是语法上的一些问题:#include
#include
void p(char,int);
const char* p(char b[],int n) //返回的类型要定义
{
int i,c;
c=n/2;
for(i=0;i
if(b[i]!=b[n-i-1]) //这里while的话,break就是break while了,而不会break if
break;
}
if(i==c)
return("yes"); //字符串使用双引号
else
return("no");
}
void main()
{
char a[100];
int n;
gets(a);
n=strlen(a);
printf("%s",p(a, n)); //调用的参数漏掉了
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯