StarHui


私信TA

用户名:uq_15565483691

访问量:2775

签 名:

只要你想,世界就会出现奇迹!

等  级
排  名 331
经  验 5279
参赛次数 2
文章发表 25
年  龄 18
在职情况 学生
学  校 西安汽车职业大学
专  业 人工智能

  自我简介:

大一新生一枚 一起学习交流,请加V:StarHui0415 个人公众号:阿辉的大本营 公众号会每天更新一道算法题!!!

TA的其他文章

解题思路:

                回文数:是从左到右读和从右到左读都一样的数字。

                思路:既然题目要求使用字符串来解决,无非就是字符串的比较问题。先使用一个for循环倒着遍历,倒着存入一个新字符串数组,使用string.h库里面的函数strcmp()函数进行比较,如果返回值等于0,表示两个字符串一样,反之不一样。

                踩坑经过:

                这一题好麻烦啊,没想到C语言网上的简单题竟然是力扣上的第9题进阶题。刚开始我想用双层for循环,一个从头一个从尾开始遍历,如果一样就返回YES,反之返回NO;结果答案错误67%,不知道为什么(哪位大佬知道为什么的话,请帮我解答一下,谢谢)。于是我就换了一种思路,用字符串比较的方法

注意事项:

                记得头文件要引入string.h,不然后面的函数调用不了。函数讲解网站:C 库函数 – strcmp() | 菜鸟教程 (runoob.com)

参考代码:

#include <stdio.h>
#include <string.h>
int main()
{
    char str[10000],check_str[10000];//两个字符串数组最后用来比较
    scanf("%s",str);//不用加&
    int len = strlen(str),count = 0;//len表示字符串数组的个数,count用来表示check_str数组的下标
    for(int i = len - 1;i >= 0;i--)//把输入的数字从右往左存入新字符串数组,紧扣回文数定义
    {
        check_str[count] = str[i];
        count++;
    }
    if(strcmp(str,check_str) == 0)//strcmp用法,相等返回0,否则返回小于0或者大于0的数
        printf("YES");
    else
        printf("NO");
    return 0;
}


 

0.0分

0 人评分

  评论区

由于里面不能加入的网站无效,我把网站贴这了
strcmp函数讲解网站(菜鸟教程):https://www.runoob.com/cprogramming/c-function-strcmp.html
2022-11-07 11:52:00
  • «
  • 1
  • »