C语言例2-3:从键盘输入一个正整数(位数小于或等于10),判断其是否是回文数

回文数是将自然数n的各位数字反向排列得到自然数n1,若n1与n相等,则称为回文数,例如12321

//从键盘输入一个正整数(位数小于或等于10),判断其是否是回文数
//回文数是将自然数n的各位数字反向排列得到自然数n1,若n1与n相等,则称为回文数,例如12321
#include<stdio.h>
#include<math.h>
int getLength(long int num)       //定义函数getLength,计算正整数num的位数
{
	int found, length;
	found = 0;
	length = 10;                  //设定正整数num的位数小于或等于10
	if(num == 0)  return 1;
	while(found == 0)
	{
		if(num/(int)pow(10,length-1)>0)  found=1;
		                          //库函数pow(10,length-1)的功能是计算10的(length-1)次幂
		else length-=1;
	}
	return(length);
}
int isHuiHanShu(long int num)     //定义函数isHuiHanShu,判断正整数num是否是回文数
{
	long int n;                   //定义变量n,保存从键盘输入的正整数
	int left;                     //定义变量left,保存正整数最左边的数字
	int right;                    //定义变量right,保存正整数最右边的数字
	int i;                        //定义变量i,保存正整数的位数
	int flag;
	               //定义变量flag,保存是否是回文数的标志。若不是回文数,则flag=1;否则flag=0
	i = getLength(num);           //调用函数getLength,将正整数num的位数赋予变量i
	n = num;
	flag = 0;
	while(i>1&&flag==0)
	{
		left = n/(int)pow(10,i-1);    //将正整数n当前最左边的数字赋予变量left
		right = n%10;                 //将正整数n当前最右边的数字赋予变量right
		n = n%(int)pow(10,i-1)/10;    
		i-=2;
		if(left != right)   flag = 1;
		//若正整数n当前最左边和最右边的数字不相等,则是回文数,即标志变量flag赋值1
	}
	if(flag == 0)  return 1;          //若是回文数,则返回1
	else return 0;                    //若不是回文数,则返回0
}
int main(void)                        //主函数
{
	long int num;
	scanf("%d",&num);                //从键盘输入一个正整数保存到变量num
	if(isHuiHanShu(num))
		printf("%d is a 回文数\n",num);        //若是回文数,则屏幕上显示“是回文数”
	else
		printf("%d is not a 回文数\n",num);    //否则,屏幕上显示“不是回文数”
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/454581.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

企业信息化转型之企业统一门户搭建

一、当前企业门户实施的背景和痛点 企业随着公司业务的发展&#xff0c;公司运作的复杂度在不断加大&#xff0c;各部门的业务量和业务的复杂度都在不断增加&#xff0c;已经建设了ERP、HR、OA、考勤、合同、BPM、PLM等有效地支撑了过去和现有业务的发展。 企业在信息化办公是…

一款强大的逆向分析工具,开源!

工具介绍 Ghidra 是由美国国家安全局&#xff08;NSA&#xff09;研究部门开发的软件逆向工程&#xff08;SRE&#xff09;套件&#xff0c;用于支持网络安全任务。包括一套功能齐全的高端软件分析工具&#xff0c;使用户能够在各种平台(Windows、Mac OS和Linux)分析编译后的代…

【零基础学习04】嵌入式linux驱动中信号量功能基本实现

大家好,为了进一步提升大家对实验的认识程度,每个控制实验将加入详细控制思路与流程,欢迎交流学习。 今天给大家分享一下,linux系统里面信号量操作的具体实现,操作硬件为I.MX6ULL开发板。 第一:信号量基本简介 信号量是同步的一种方式,linux内核也提供了信号量…

WebStorm报错

报错情况&#xff1a; npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: element-plus1.0.2-beta.40 npm ERR! Found: vue3.0.5 npm ERR! node_modules/vue npm ERR! peer vue"^3.0.0" from tinymce/tinymce-vue4…

课堂行为动作识别数据集

一共8884张图片 xml .txt格式都有 Yolo可直接训练 已跑通 动作类别一共8类。 全部为教室监控真实照片&#xff0c;没有网络爬虫滥竽充数的图片&#xff0c;可直接用来训练。以上图片均一一手工标注&#xff0c;标签格式为VOC格式。适用于YOLO算法、SSD算法等各种目标检测算法…

idea创建git仓库

选择根目录&#xff1a; 点ok&#xff0c;就创建好了 推送到本地仓库&#xff1a; push到github&#xff1a;

LJXpaper

表1-3引用出现较滞后 1.3文献[42]有问题 如图 如图 如图 如图 &#x1f447; &#x1f447; &#x1f447; &#x1f447; &#x1f447; &#x1f447; &#x1f447; 要不要加连接词&#xff1a;4-11 4-12之间 &#…

pycharm配置解释器

pycharm配置解释器 1.mac配置解释器 1.mac配置解释器

打卡学习kubernetes——了解k8s基本概念

目录 1 Container 2 Pod 3 Node 4 Namespace 5 Service 6 Label 7 Annotations 8 Volume 1 Container Container(容器)是一种便携式、轻量级的操作系统级虚拟化技术。它使用namespace隔离不同的软件运行环境&#xff0c;并通过镜像自包含软件的运行环境&#xff0c;从而…

K8s-CRD实战

CRD CRD的全称是CustomResourceDefinition,是Kubernetes为提高可扩展性, 让开发者去自定义资源&#xff08;如Deployment&#xff0c;StatefulSet等&#xff09;的一种方法. Controller controller是由controller-manager进行管理&#xff0c;通过API Server提供的接口实时监…

掌控无显示器Linux开发板:VNC远程桌面接入指南

掌控无显示器Linux开发板&#xff1a;VNC远程桌面接入指南 Linux开发板是许多技术人员常用的工具&#xff0c;但有时它们并不配备显示器。这时&#xff0c;VNC&#xff08;Virtual Network Console&#xff09;软件就成为了一个非常有用的工具&#xff0c;它允许用户通过网络远…

yarn工作机制

YARN架构组成 YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成 yarn的工作机制&#xff1a;这个把applicationMaster看成一种特殊task比较好理解 ,这个task负责一个job数据的切分&#xff0c;任务切分&#xff0c;任务资源申请&#xff0c;监…

【Web】浅聊XStream反序列化本源之恶意动态代理注入

目录 简介 原理 复现 具体分析之前 我们反序列化了个什么&#xff1f; XStream反序列化的朴素通识 具体分析 第一步&#xff1a;unmarshal解组 第二步&#xff1a;readClassType获取动态代理类的Class对象 第三步&#xff1a;调用convertAnother对动态代理类进行实例…

Linux系统目录结构详细介绍

目录 一、根目录&#xff08;/&#xff09; 二、/bin 三、/boot 四、/dev 1.设备文件类型&#xff1a; 2.常见设备文件&#xff1a; 五、/etc 六、/home 七、/root 八、/run 九、/sbin 十、 /tmp 十一、/usr 十二、/var Linux系统目录结构是一种层次化的文件系…

【漏洞复现】广州图创 图书馆集群管理系统 WebBookNew SQL注入漏洞

0x01 产品简介 广州图创计算机软件开发有限公司是集产品研发、应用集成、客户服务为一体的高新技术企业&#xff0c;主要目标是为图书馆行业用户提供高质量的应用软件系统设计、集成和维护服务。 0x02 漏洞概述 由于广州图创 图书馆集群管理系统 WebBookNew 接口处未对用户输…

Oracle PL/SQL Programming 第9章:Numbers 读书笔记

总的目录和进度&#xff0c;请参见开始读 Oracle PL/SQL Programming 第6版 本章谈3点&#xff1a; 可使用的数字数据类型如何在数字和文本间转换PL/SQL 内置数值函数 Numeric Datatypes NUMBER&#xff1a;平台无关的实现&#xff0c;适合处理货币金额PLS_INTEGER 和 BINA…

OPENCV(0-1之0.1)

OPENCV-0.1 学习安排计算机视觉简介是什么&#xff1f;应用领域基础概念 OpenCV简介历史背景和主要贡献者支持的语言和平台主要模块和功能 安装(windows_python)pip安装验证安装&#xff08;记得安装jupyter&#xff09; 第一个OpenCV程序实践练习 官方文档 学习安排 计算机视…

【LeetCode】升级打怪之路 Day 21:二叉树的最近公共祖先(LCA)问题

今日题目&#xff1a; 236. 二叉树的最近公共祖先1644. 二叉树的最近公共祖先 II235. 二叉搜索树的最近公共祖先 目录 LCA 问题LC 236. 二叉树的最近公共祖先 【classic】LC 1644. 二叉树的最近公共祖先 II 【稍有难度】LC 235. 二叉搜索树的最近公共祖先 ⭐⭐⭐ 今天做了几道有…

一文弄清池化层(pooling)的作用

池化层的本质是一个下采样,数据经过卷积之后,维度会越来越高,在特征图没有较大改变的情况下,参数量却上涨的很快,造成模型的训练困难和过拟合现象,所以将池化层置于连续的卷积层之间,以压缩数据量和参数以减少过度拟合,对卷积层输出的特征图进行特征选择。池化层的具体操作是将…

考虑功率均分与电压频率的事件触发分布式二次控制MATLAB模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 此模型是在《基于事件触发机制的孤岛微电网二次电压与频率协同控制MATLAB仿真模型》上进一步创作的&#xff0c;之前的模型只考虑了二次电压与频率控制&#xff0c;并没有考虑均分这一项点。 因此…