蓝桥杯 特殊回文数

题目:蓝桥杯 特殊回文数
(网络菜鸡第一次写~~~~~哈哈哈)
思路 :先判断是否满足 s == n条件, 若满足,则判断该数是否为回文数,满足以上两个条件,则输出 i;

代码:
#include <stdio.h>
int main (void)在这里插入代码片
{
int i, j, s, n, k, c,flag ;
int a[6] = {0} ;

s = k = n = i = j = c = 0 ;
flag = 1 ;
scanf ("%d", &n) ;

for (i = 10001; i <= 999999; i++)
{
	k = i ;
	while (k != 0)                  //将数字从整数中分割出来  放到数组a[ ]中 
	{
		s += a[j++] = k % 10 ;      //在放数字的过程中,一并累计各数字和 
		k /= 10 ;
	}
	
	if (s == n)                     //如果各位数之和等于输入的 n ,则执行下面判断是 否为回文数的操作 
	{
		j-- ;
		while (j > c)
		{
			if (a[j--] != a[c++])    //如果不满足回文数条件,将flag = 0(标志 不满足回问条件 ),且结束本次循环 
			{
				flag = 0 ;
				break ;
			}
		}
		
		if (flag == 1)      //满足s == n && flag == 1   
		{
			printf ("%d\n",i) ;   // 输出满足条件的 i ; 
		}
	}
	
	a[0] = a[1] = a[2] = a[3] = a[4] =a[5] = 0 ;     //一轮大循环结束后,变量 “初始化” 
	flag = 1 ;
	s = 0 ;
	j = 0 ;
	c = 0 ; 
}

return 0 ;

}