想要设计一个函数判断字符串是否回文,但不知道哪里出了问题,求友友们帮我指点一二
#include
#include
int HW(char a[100])
{
gets(a);
int c=strlen(a);
int i;
for(i=1;i<=c/2;i++)
{
if(a[i]!=a[c-i+1])
{
printf("这串字符不是回文");
break;
}
else
printf("这串字符是回文");
}
return HW;
}
int main()
{
char s[100];
gets{s};
HW(s);
return 0;
}
望采纳!点击该回答右侧的“采纳”按钮即可采纳!!!
具体有什么报错嘛?
我先给你看看我写的代码吧
#include<stdio.h>
#include<string.h>
int is_palindrome(char a[100])
{
int c = strlen(a);
int i;
for (i = 0; i < c / 2; i++)
{
if (a[i] != a[c - i - 1])
{
printf("这串字符不是回文\n");
return 0;
}
}
printf("这串字符是回文\n");
return 1;
}
int main()
{
char s[100];
printf("请输入要判断的字符串:");
gets(s);
is_palindrome(s);
return 0;
}
//该代码使用Microsoft Visual Studio2019编写
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
int fun(const char* p)
{
int i;
int len = strlen(p);
for (i = 0; i <= len; i++) {
if (p[i] == p[len -1])
len--;
else
return 0;
}
return 1;
}
int main(void)
{
char x[100];
gets(x);
char* p=x;
int n=fun(p);
if (n==1)
printf("是回文串");
else if(n==0)
printf("不是回文串");
return 0;
}
错误太多:
1、基本语法错误:gets{s}
2、函数返回值 return HW 没有赋值;
3、主程序、子程序都在 gets()