回文数字
观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。本题要求你找到一些5位或6位的十进制数字。满足如下要求:
该数字的各个数位之和等于输入的整数
【输入格式】
一个正整数 n (10<n<100), 表示要求满足的数位和。
【输出格式】
若干行,每行包含一个满足要求的5位或6位整数。
数字按从小到大的顺序排列。
如果没有满足条件的,输出:-1
#include<stdio.h>
int a[6];
int temp=0;
int hui(int n)
{
int i, j, k;
i = 0;
while (n)
{
a[i++] = n%10;
n = n/10;
}
j = 0;
k = i-1;
while (j < k)
{
if (a[j++] != a[k--])
return 0; //返回0
}
for (i=0; i<6;i++)
temp+=a[i];
return 1; //返回1
}
int main()
{
int val;
int i,j;
scanf("%d", &val);
if(val<2||val>54)
{
printf("-1\n");
return 0;
}
for (i=10000; i<1000000; i++)
{
temp=0;
if (hui(i)&&temp == val) //temp不是为0吗?
{
printf("%d\n", i);
}
}
}
在一个函数里面可以实现2种判断和2个返回值吗?求大神帮忙解决上面有注释处,,谢谢了