解题思路:

1.判断输入的数与所有五位数,所有六位数各位之和是否相等。若相等,进行第二步。

2.分类,五位数拆分,六位数拆分,看是否为回文数。若是回文数,则输出并让flag=1。

3.最后若flag不为1,则输出为-1;

注意事项:

设立flag,方便最后找不到数来输出-1.

参考代码:

#include <stdio.h>
int main() {
   int x,sum=0,n;
   int a,b,c,d,e,f;
   int flag=0;
   unsigned int i;
   scanf("%d",&x);
   for(i=10000;i<=999999;i++)
   {
       n=i;
       sum=0;
       while((n/10)!=0)
       {
           sum=sum+(n%10);
           n=n/10;
       }
       sum=sum+n;
       if(sum==x)
       {
           if(i>=10000&&i<=99999)
           {
               a=i/10000;         //万位数字
               b=i%10000/1000;    //千位数字
               c=i%100/10;        //十位数 
               d=i%10;            //个位数
 
               if(a==d&&b==c)
               {
                   printf("%d\n",i);
                   flag=1;
               }
            }
   
           if(i>=100000&&i<=999999)
           {
               a=i/100000;                //第一位数字
               b=i%100000/10000;   //第二位数字
               c=i/1000%10;             //第三位数字
               d=i%1000/100;          //第四位数字
               e=i%1000/10%10;   //第五位数字
               f=i%1000%10;           //第六位数字 
    
               if(a==f&&b==e&&c==d)
               {
                   printf("%d\n",i);
                   flag=1;
               }
            }
       }
   }
   if(flag==0)
   {
      printf("-1\n");
   }
   return 0;
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论