提示:先求出字符串的长度len,然后通过循环判断字符串的对称位置的字符 是否相等,只要有一个不等,则结束判断,可以判定为非回文。如果全部相等, 则为回文。可以定义两个变量 i 和 j,分别指向字符串的开始和末尾,然后没判 断一次,移动一次(i++,j--)。
编写函数,判断输入的字符串是否为“回文”,并在 main()函数中调用。函数形式为: int palindrome(char *s); /*是回文,返回值为 1,否则返回 0*/
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- _GX_ 2021-12-22 23:01关注
#include <stdio.h> #include <string.h> int palindrome(const char *s) { int len = strlen(s); const char *p = s + len - 1; while (s < p) { if (*s != *p) return 0; s++; p--; } return 1; } int main() { char s[100]; scanf("%s", s); printf("%d", palindrome(s)); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 用verilog实现tanh函数和softplus函数
- ¥15 Hadoop集群部署启动Hadoop时碰到问题
- ¥15 求京东批量付款能替代天诚
- ¥15 slaris 系统断电后,重新开机后一直自动重启
- ¥15 QTableWidget重绘程序崩溃
- ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
- ¥15 关于vue2中methods使用call修改this指向的问题
- ¥15 idea自动补全键位冲突
- ¥15 请教一下写代码,代码好难
- ¥15 iis10中如何阻止别人网站重定向到我的网站