回文数:是正反读都相同的数​。

题目:输入n组数据,每组数据判断是回文数,是的话输出各位数和,不是输出no

分析:判断回文数位数相加等于其本身利用while语句

#include<stdio.>
int main()
{
printf("输入需要的数据组n;\n");
int m, n, x, t, j, i, k, sum, a[10];
scanf("%d", &n);//
printf("输入每组数据:\n");
for (m = 0; m < n; m++)
{
scanf("%d", &x);
t = x;
sum = 0;
i = 0;
while (x > 0)
{
a[i] = x % 10;
sum = sum * 10 + a[i];
i++;
x /= 10;
}
if (sum != t)
printf("no\n");//判断是否是回文数
else
{
for (j = 0, k = 0; j < i; j++)
{
k += a[j];
}
printf("%d\n", k);
}
}
return 0;
}


运行结果

今天了解到回文数了_#include

方法二,利用前后对比

#include<stdio.h>
int main()
{
int n, j, k,sum, a[30];
int i = 0, b=0;
scanf("%d", &n);
while (n > 0)
{
a[i++] = n % 10;
n /= 10 ;
}
j = 0;
k = i - 1;
while (a[j] == a[k] && j <= i - 1)
{
j++;
k--;
}
if (j > i - 1)
{
for (sum = 0; b < i; b++)
{
sum += a[b];
}
printf("%d\n", sum);
}
else
puts("no");
return 0;
}