/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int a[10];
int len=0;
int i;
int num;
int num1;
scanf("%d",&num);
num1 = num;
while(num>0){
a[len++] = num % 10;
num = num/10;
}
for(i=0;i<len/2;i++){
if(a[i] != a[len-i-1]){
break;
}
}
if(i == len/2){
printf("%d是回文",num1);
}else{
printf("%d不是回文",num1);
}
}
#include<stdlib.h>
int fun1(int n) //反序
{
char p[1000] = {0};
itoa(n,p,10);
int i,t;
n=0;
for(i=0;*(p+i) != '\0';i++)
n++;
for(i=0;i<n/2;i++)
{
t = *(p+i);
*(p+i) = *(p+n-i-1);
*(p+n-i-1) = t;
}
return atoi(p);
}
bool fun2(int n) //判断回文
{
char p[1000] = {0};
itoa(n,p,10);
int i;
n=0;
for(i=0;*(p+i) != '\0';i++)
n++;
for(i=0;i<n/2;i++)
{
if(*(p+i) != *(p+n-i-1))
return false;
}
return true;
}
void main()
{
int n,m;
scanf("%d",&n);
while(true)
{
m = fun1(n);
printf("%d + %d = %d\n",n,m,n+m);
n = m+n;
if(fun2(n))
break;
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632