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

news2024/11/20 8:26:32

回文数是将自然数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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Skywalking(9.7.0) 告警配置

图片被吞&#xff0c;来这里看吧&#xff1a;https://juejin.cn/post/7344567669893021736 过年前一天发版&#xff0c;大家高高兴兴准备回家过年去了。这时候老板说了一句&#xff0c;记得带上电脑&#xff0c;关注用户反馈。有紧急问题在高速上都得给我找个服务区改好。 但是…

如何查看mnist数据集的图片

import numpy as np import matplotlib.pyplot as pltdef read_mnist_images(filename):with open(filename, rb) as f:# 读取魔术数字、图像数量、行数、列数magic_number int.from_bytes(f.read(4), big)number_of_images int.from_bytes(f.read(4), big)rows int.from_by…

python实现卡普均值最小回路算法

如果给定一个含有环的有向图,要在这个图中找出所有的环并计算这些环的路径长度,然后除以环的边数,所得到的结果也就是环的平均值,这里也就是如何计算这个环的最小均值问题。 首先可以确定的是,如果图中均值最小的环的值是0,那么图中就不包含负环,由于是负环,那么所有边…

学习c语言:单链表的应用

一、单链表经典算法 1.1 单链表相关经典算法OJ题1&#xff1a;移除链表元素 . - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.…

西门子PLCS7-1200位逻辑指令的使用

1.LAD触点 常开触点的位值为1时&#xff0c;常开触点将闭合&#xff08;ON&#xff09;。位值为0时&#xff0c;常开触点将闭合&#xff08;OFF&#xff09;。 常闭触点的位值为1时&#xff0c;常闭触点将闭合&#xff08;OFF&#xff09;。位值为0时&#xff0c;常闭触点将闭…

类和对象 (中)

文章目录 类的六个默认成员函数构造函数析构函数特性使用 总结构造函数和析构函数拷贝构造函数特性拷贝构造总结 赋值运算符的重载运算符重载赋值运算符重载总结拷贝构造函数和赋值运算符重载 关于operator<<重载日期类实现const 修饰的成员函数取地址重载以及const取地址…

JVM 类的加载篇

我们都知道一个类从加载到卸载一共分为七个过程 加载 - 链接(验证 - 准备 - 解析) - 初始化 - 使用 - 卸载 下文我们将详细解析这些过程 谁需要加载? 在Java中数据类型分为基本数据类型和引用数据类型,基本数据类型由虚拟机预定义,引用数据类型则需要类的加载 1.加载/装载(loa…

腾讯云最新优惠券领取入口及使用指南

​腾讯云作为国内领先的云服务提供商&#xff0c;以其稳定、高效的服务赢得了广大用户的信赖。为了吸引用户&#xff0c;腾讯云经常会推出各种优惠活动&#xff0c;其中最常见的就是腾讯云优惠券。本文将为大家分享腾讯云最新优惠券领取入口及使用指南&#xff0c;助力大家轻松…

从汇编来角度剖析C语言函数调用过程

目录 1.引言 2.寄存器 3.栈帧 4.函数调用前调用者的动作 5.被调用者在函数调用后的动作 6.被调用者返回前的动作 7.调用者在返回后的动作 8.总结 1.引言 当一个c函数被调用时&#xff0c;一个栈帧(stack frame)是如何被建立&#xff0c;又如何被消除的。这些细节跟操作…

爆肝整理万能sass框架:react18+webpack5+typescript+ant Design,框架在手,交付无忧!!!

来活了&#xff0c;要求一周时间内快速给xxx业务开发一个sass系统平台&#xff0c;要求有角色权限控制&#xff0c;推荐模块&#xff0c;各种业务内容模块&#xff0c;莫慌&#xff0c;直接上代码&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 1.系统框架配置…

前端跨页面通信的几种方式---同源

参考链接 1、LocalStorage:当 LocalStorage 变化时&#xff0c;会触发storage事件。利用这个特性&#xff0c;我们可以在发送消息时&#xff0c;把消息写入到某个 LocalStorage 中&#xff1b;然后在各个页面内&#xff0c;通过监听storage事件即可收到通知。 2、BroadCast C…

12 list的使用

文档介绍 文档介绍 1.list是可以在常数范围内的任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代 2.list的底层是带头双向链表循环结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和…

C++的This详解

目录 听说点赞的UU会有好运哦&#xff01; 听说点赞的UU会有好运哦&#xff01; 听说点赞的UU会有好运哦&#xff01; this指针&#xff1a; 面试常考this&#xff1a; 特别注意&#xff1a; this指针&#xff1a; 类不保存成员函数&#xff0c;而是放在公共代码段&…

Flutter第四弹:Flutter图形渲染性能

目标&#xff1a; 1&#xff09;Flutter图形渲染性能能够媲美原生&#xff1f; 2&#xff09;Flutter性能优于React Native? 一、Flutter图形渲染原理 1.1 Flutter图形渲染原理 Flutter直接调用Skia。 Flutter不使用WebView&#xff0c;也不使用操作系统的原生控件,而是…

【计算机网络实践】FileZilla Server1.8.1实现局域网ftp文件传输

大二新生随便写写笔记&#xff0c;轻喷&#xff0c;鉴于本人在网络搜索中并未搜索到1.8.1版本的使用方法&#xff0c;因而瞎写一页。 一、准备 下载一个FileZilla Server1.8.1在你想作为服务器的主机上&#xff08;此处直接在官网下载即可&#xff1a;Download FileZilla Serve…

stimulsoft report for js vue3使用

项目后端使用的java&#xff0c;试验过积木报表&#xff08;web界面类型的&#xff09;、JasperReport&#xff08;.jasper报表文件&#xff09;、stimulsoft web版本&#xff08;.mrt报表文件&#xff09; 我们的项目是前后端分离的&#xff0c;用积木报表&#xff08;开箱即…

Spring boot 集成netty实现websocket通信

一、netty介绍 Netty 是一个基于NIO的客户、服务器端的编程框架&#xff0c;使用Netty 可以确保你快速和简单的开发出一个网络应用&#xff0c;例如实现了某种协议的客户、服务端应用。Netty相当于简化和流线化了网络应用的编程开发过程&#xff0c;例如&#xff1a;基于TCP和U…

【研发日记】,Matlab/Simulink开箱报告(十)——Requirements Toolbox

前言 见《开箱报告&#xff0c;Simulink Toolbox库模块使用指南&#xff08;五&#xff09;——S-Fuction模块(C MEX S-Function)》 见《开箱报告&#xff0c;Simulink Toolbox库模块使用指南&#xff08;六&#xff09;——S-Fuction模块&#xff08;TLC&#xff09;》 见《开…

狂揽Github—start19.7k☆开源OCR—Umi-OCR

文章目录 背景Umi-OCR—源码下载Umi-OCR—可执行程序下载页面介绍截图OCR识别批量OCR识别批量文档二维码全局设置 总结&#xff1a; 背景 大家都知道我是一个Python办公自动化的小小程序员&#xff0c;经常收集一些免费开源的OCR供大家使用&#xff0c;目前我已经写出来多家OCR…

集智书童 | 炸裂 !轻量化YOLO | ShuffleNetv2与Transformer结合,重塑YOLOv7成就超轻超快YOLO

本文来源公众号“集智书童”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;炸裂 &#xff01;轻量化YOLO | ShuffleNetv2与Transformer结合&#xff0c;重塑YOLOv7成就超轻超快YOLO 随着移动计算技术的迅速发展&#xff0c;在移动…