解题思路:


用两个函数来判断

  1. 是否是回文数。

  2. 是否满足n等于各个位数之和。

    注意事项:





    参考代码:

  3. #include<stdio.h>

  4. int p(int a, int n);

  5. int pp(int a);

  6. int main()

  7. {

  8. int n, i, c=0;

  9. scanf("%d", &n);

  10. for(i=10000; i<1000000;i++)

  11. {

  12. if(p(i, n)==1&&pp(i)==1)

  13. {

  14. c=1;

  15. printf("%d\n", i);

  16. }

  17. }

  18. if(c==0)

  19. printf("-1\n");

  20. return 0;

  21.  } 

  22.  int p(int a, int n)

  23.  {

  24.   int sum=0, c;

  25.   while(a>0)

  26.   {

  27.   c=a%10;

  28.   sum+=c;

  29.   a/=10;

  30. }

  31. if(sum==n)

  32. return 1;

  33. else

  34. return 0;

  35.  }

  36.  int pp(int a)

  37.  {

  38.   int s[6], i=0, c, len;

  39.   while(a>0)

  40.   {

  41.   c=a%10;

  42.   s[i]=c;

  43.   a/=10;

  44.   i++;

  45. }

  46. len=i;

  47. c=0;

  48. for(i=0; i<len/2; i++)

  49. {

  50. if(s[i]!=s[len-i-1])

  51. c=1;

  52. }

  53. //printf("             %d\n",s[i] );

  54. if(c==1)

  55. return 0;

  56.     else

  57.   return 1;

  58.  }

  59.  

  60.  

  61.  

  62.  

  63.  

  64.  

  65.  

  66.  

  67.  

  68.  

  69.  

  70.  

  71.  

  72.  

  73.  

  74.  

  75.  

点赞(1)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论