解题思路:将回文数字的各个位都提出来,乘以每个位相应的倍数,如十万位 1(十万位)*100000 然后相加,然后从个位开始反着再来一次,判断两者的和是否相等,就是回文数字,并用计数器num记录,以便输出-1。if里的表达式有点长,主要是脑子不够用。 由于比较简单,发的晚可能会跟前面的大哥撞文,望见谅!
注意事项:因为定义了shiwan这个变量,但五位的回文数并没有十万位,所以用if(i>=10000&&i<100000),让五位回文数能输出出来!
参考代码:
#include<stdio.h>
int main()
{
int ge,shi,bai,qian,wan,shiwan;
int i,n,num=0;
scanf("%d",&n);
for(i=10000;i<1000000;i++)
{
shiwan=i/100000;
wan=(i/10000)%10;
qian=(i/1000)%10;
bai=(i/100)%10;
shi=(i/10)%10;
ge=i%10;
if((i>=100000&&i<1000000)&&shiwan*100000+wan*10000+qian*1000+bai*100+shi*10+ge==ge*100000+shi*10000+bai*1000+qian*100+wan*10+shiwan&&ge+shi+bai+qian+wan+shiwan==n&&(n>10&&n<100))
{
printf("%d\n",i);num+=1;
}
else if((i>=10000&&i<100000)&&wan*10000+qian*1000+bai*100+shi*10+ge==ge*10000+shi*1000+bai*100+qian*10+wan&&ge+shi+bai+qian+wan==n&&(n>10&&n<100))
{
printf("%d\n",i);num+=1;
}
}
if(num==0)
printf("-1\n");
}
0.0分
1 人评分
简单的a+b (C语言代码)浏览:827 |
奖学金 (C++代码)浏览:2053 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:545 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:543 |
求圆的面积 (C语言代码)浏览:1366 |
Pascal三角 (C语言代码)格式错误浏览:551 |
字符串比较 (C语言代码)答案错误????浏览:641 |
妹子杀手的故事 (C语言代码)浏览:1297 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:539 |
兰顿蚂蚁 (C++代码)浏览:1160 |