7-33 实验4_3_回文数 (100 分)

本文介绍了一种简单的方法来判断一个整数是否为回文数,并提供了两种不同的C语言实现方案。第一种方法通过反转数字进行比较,第二种方法使用数组存储数字的每一位再进行对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回文是指正读和反读都一样的数或文本段。例如,12321、55555、45554、11611都是回文数。输入一个长度不超过10位的整数n,判断它是否是回文数。

输入格式:

只有一个整数n,即待判断的数字。测试用例保证n可以用int存储。

输出格式:

当n为回文数时输出“Yes”,否则输出“No”。

输入样例:

12321

输出样例:

Yes

代码如下

#include<stdio.h>
int main()
{
	int n, i=0;
	scanf("%d", &n);
	int s = n;
	while (n > 0)
	{
		i = i * 10 + n % 10;
		n /= 10;
	}
	if (i == s)
		printf("Yes\n");
	else
		printf("No\n");
	return 0;
}

代码思路:求出逆置数如果逆置数与原来的数相等,则是回文数

逆置数详解看前面的博客

再写一种

#include<stdio.h>
int main()
{
	int n,i=0;
	scanf("%d", &n);
	int arr[20] = { 0 };
	while (n > 0)
	{
		arr[i] = n % 10;
		n /= 10;
		i++;
	}
	int right = i - 1;
	int left = 0;
	for (; left <= right; left++, right--)
	{
		if (arr[left] != arr[right])
		{
			printf("N0");
			return 0;
		}
	}
	printf("Yes");
}

用了数组,大同小异 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值