关于回文题目的解法(将数字转换为数组)

回文对称数

https://ac.nowcoder.com/acm/problem/22169

 #include <stdio.h>
int main()
{
int a=0,m=0,n=0,i=0,j=0,flag=0,t=0;
int s[100];

scanf ("%d",&a);
   for (n=1;n<a;n++)
  {
    t=n;//存值
    s[0]=t%10;//先读出个位
  for (m=0;t>0;m++)//这个循环的目的是先读取数字的位数
  {
      t/=10;//每次除一个10,就加一个位
      if (t>0)
      {
      s[m+1]=t%10;//在读取数位的同时,把数字转换为数组,此时的数组是数字的倒序
       }
   }

  for (i=0,j=m-1;i<j;i++,j--)//这个循环开始对比回文,这属于字符串数组的知识点
  {//此处就是把数字转换为数组的方法来写回文
      if (s[i]!=s[j])
      {
          flag=1;//标志量,如果flag=1,那么就说明不是回文
      }
   } 
if (flag==0)
{
    printf ("%d\n",n);
}
flag=0;//重置一下标志量

}
return 0;
  } 
全部评论
点赞 回复 分享
发布于 2022-07-06 20:30

相关推荐

不愿透露姓名的神秘牛友
昨天 17:32
点赞 评论 收藏
分享
合不合适,我自己说了才算
码农索隆:hr:“真执着啊,来我公司当法人吧”
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
评论
8
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务