C语言:回文数

时间:2025-04-15 13:10:06

目录

介绍:

简单方法:

代码如下:

运行结果:

进阶法:

代码如下:

运行结果:


介绍:

回文数:回文”是指正读反读都能读通的句子。而在数学中,也有具有这样特征的一类数字,称为               回文数。
             例如:若 a= 12321 ,则称 a 为回文数;但若 a = 12345,则a不是回文数。

简单方法:

代码如下:

#include <>
int main()
{
    int n;
    printf(" 请输入一个五位数\n");
    scanf("%d", &n);
    int a = n % 10;
    int b = n / 10 % 10;
    int c = n / 100 % 10;
    int d = n / 1000 % 10;
    int e = n / 10000 % 10;
    if (a == e && b == d)
        printf("是回文数");
    else
        printf("不是回文数");
    return 0;
}

运行结果:

 请输入一个五位数
12321
是回文数
--------------------------------
Process exited after 2.629 seconds with return value 0
请按任意键继续. . .
 请输入一个五位数
12345
不是回文数
--------------------------------
Process exited after 4.255 seconds with return value 0
请按任意键继续. . .

进阶法:

代码如下:

//回文数
#include <>
#define N 100          //定义N为100 
int main()
{
	printf("请输入一个数字");
	int n,remain,i=1,j=0,count=0;
	int arr[N],temp[N];
	scanf("%d",&n);
	while(n)
	{
		remain =n%10;   //降位 
		n/=10;		
		temp[i++]=remain;
		count++;
	}
	while(--i)
	arr[j++]=temp[i];
	for(i=0;i<(count+1/2);i++)
	{
	if(arr[i]!=arr[count-i-1])
		{
			printf("不是回文数");
			return 0;
		}
	}
	printf("是回文数");
	return 0;
} 

运行结果:

请输入一个数字12345
不是回文数
--------------------------------
Process exited after 4.672 seconds with return value 0
请按任意键继续. . .
请输入一个数字12321
是回文数
--------------------------------
Process exited after 3.547 seconds with return value 0
请按任意键继续. . .