解题思路:主函数用for循环i从10000~999999,判断函数judge(i)内,(1)先分五位数和六位数两种情况判断是不是回文数字,是->flag=1,否->直接返回0(这个放到下面的判断中的else);(2)判断该回文数字(flag=1)的各个数位之和是否等于输入的整数,是->直接返回1,否->直接返回0。

注意事项:主函数最后要判断一下,不符合题目条件的要输出-1,这个不能忘记。

参考代码:

#include<stdio.h>

int judge(int long number,int n)

{

int a,b,c,d,e,f;

int sum;

int flag=0;

int num=number; 

f=number%10;//个 

number=number/10;

e=number%10;//十 

number=number/10;

d=number%10;//百 

number=number/10;

c=number%10;//千 

number=number/10;

b=number%10;//万 

number=number/10;

a=number%10;//十万 

//判断是否是回文数字 

if(num<100000)

{

if(b==f&&c==e)

{

flag=1;

}

}

else

{

if(a==f&&b==e&&c==d)

{

flag=1;

}

}

//判断该回文数字的各个数位之和是否等于输入的整数

if(flag==1)

{

sum=a+b+c+d+e+f;

if(sum==n)

{

return 1;

}

else

{

return 0;

}

}

else

{

return 0;

}

}

int main()

{

int n;

int long i;

scanf("%d",&n);

int p=0;

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

{

if(judge(i,n))

{

p=1;

printf("%ld\n",i);

}

if(p==0)

{

printf("-1");

}

return 0;

}


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论