编写函数 palindromeNumber,求`[200,3000]`范围内的回文数有哪些,在主函数中调用该函数。

题目描述

编写函数 palindromeNumber,求`[200,3000]`范围内的回文数有哪些,在主函数中调用该函数。
输出区间`[200,3000]`中所有的回文数,一行一个回文数,不需要输出其它无关的字符。
202
212
222
232
......

解题过程

#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
void palindromeNumber()//设计函数
{
	int qian, bai, shi, ge, n;//声明变量
	for (n = 200; n <= 3000; n++)//一一对比
	{
		qian = n / 1000;
		bai = n / 100 - 10 * qian;
		shi = n / 10 - qian * 100 - bai * 10;
		ge = n - qian * 1000 - bai * 100 - shi * 10;//求出个十百千位
		if (qian == 0)//三位数时
		{
			if (bai == ge)
			{
				printf("%d\n", n);//打印结果
			}
		}
		else//四位数时
		{
			if (qian == ge && bai == shi)
			{
				printf("%d\n", n);//打印结果
			}
		}
	}
}
int main()
{
	palindromeNumber();//引用函数
	return 0;//结束
}

解题思路

    本题属于经典的设计函数,属于基础题,对于设计函数的掌握程度的要求不高,但对练习而言已经足够。
    言归正传,在写题目时,我们应注意到回文数所具有的特点:
    1.当数为三位数时,百位与个位应相等,十位不受限制;
    2.当数位四位数时,千位与个位应相等,而百位与十位应相等。
    因此我们可以采用求商的方式将个,十,百,千位分别求出,用于比较。在代码中,我们可以先用for语句将数逐步递增,再用if语句来分类并判读是否符合回文数的要求,最后打印
出结果,完成题解。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值