第20题,求程序设计得简单一点,让我能看的明白,求求各路大神,帮帮我这个小白。呜呜呜呜~

 

/* 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