解题思路:先将数字各位相加,在判断之和是否与n相等,相等在进行下一步---判断是否为回文,利用数组将各位存放在数组中,依次比较。
注意事项:要考虑数字的位数,和不存在的情况---利用一个变量flag
参考代码:
#include<stdio.h>
#include<string>
int flag=0;//判断不存在的情况
int huiwen(int a[], int sum, int n)
{
if (sum == n)//先判断各位之和是否相等
{
if (a[0] != 0)//在判断是几位数--6位
{
for (int j = 0; j < 3; j++)//判断是否为回文
{
if (a[j] != a[6 - j - 1])
return 0;
}
flag = 1;
return 1;
}
else //五位
{
for (int j = 1; j < 3; j++)//判断是否为回文
{
if (a[j] != a[6 - j])
return 0;
}
flag = 1;
return 1;
}
}
else
return 0;
}
int main()
{
int n;
int sum=0;
int a[6] = { 0,0,0,0,0,0 };
scanf("%d", &n);
for (int i = 10000; i < 1000000; i++)
{
a[0] = i / 100000;
a[1] = i % 100000 / 10000;
a[2] = i % 100000 % 10000 / 1000;
a[3] = i % 100000 % 10000 % 1000 / 100;
a[4] = i % 100000 % 10000 % 1000 % 100 / 10;
a[5] = i % 100000 % 10000 % 1000 % 100 % 10 / 1;
sum = a[0]+ a[1] + a[2] + a[3] + a[4] + a[5] ;
if (huiwen(a,sum,n) == 1)
printf("%d\n", i);
else if (huiwen(a,sum,n) == 0)
;
}
if (flag == 0)
printf("-1\n");
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:654 |
简单的a+b (C语言代码)浏览:783 |
字符串输入输出函数 (Java代码)浏览:1498 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1267 |
WU-字符串比较 (C++代码)浏览:824 |
C语言训练-亲密数 (C语言代码)浏览:697 |
C二级辅导-求偶数和 (C语言代码)浏览:707 |
青年歌手大奖赛_评委会打分 (C语言代码)浏览:2248 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:658 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:489 |
滕 2023-05-30 10:46:35 |
头文件不影响吧?