【王道训练营】第6题 输入一个整型数,判断是否是对称数,如果是,输出yes,否则输出no

在这里插入图片描述

文章目录

    • 我的代码
    • 改正代码
    • 其他代码

我的代码

没有完成

#include<stdio.h>
int main(){int a;int b;int c=0;//位数int d=0;//比较几次scanf("%d",&a);while(b=!0){b=b/10;c++;}d=c/2;//比较几次int ffor(int i=0 ;i<d;i++){int e=c;//位数f=a - a / (((e-i-1)*10*C)if( a / ((e-i-1)*10) == a % ((i+1)*10) ){}}return 0
}

改正代码

在这里,我将为你提供两种方法来实现这个问题。一个方法是将整数转换为字符串并使用指针或数组索引进行比较,另一个方法是通过反转整数并进行比较。

你的思路是正确的,但是在实现过程中有一些问题。首先,你想要计算输入数字的位数,但是你在循环中没有正确地更新b的值。其次,你没有正确地计算出每一位的数字。我会帮你修改和润色这段代码。

以下是修正后的代码:

#include <stdio.h>
#include <math.h>int main() {int num;scanf("%d", &num);int temp = num;int digitCount = 0;while (temp != 0) {temp /= 10;digitCount++;}int compareCount = digitCount / 2;//比较次数int isSymmetric = 1; // 假设是对称数for (int i = 0; i < compareCount; i++) {int highDigit = (num / (int)pow(10, digitCount - i - 1)) % 10;int lowDigit = (num / (int)pow(10, i)) % 10;if (highDigit != lowDigit) {isSymmetric = 0;break;}}if (isSymmetric) {printf("yes\n");} else {printf("no\n");}return 0;
}

Symmetric 对称的 digital counter数字计数器 Digit数字数位

这段代码首先计算出输入数字的位数,然后比较最高位和最低位的数字,然后比较次高位和次低位的数字,以此类推。如果在任何时候这两个数字不相等,那么这个数字就不是对称数,我们将isSymmetric设置为0并退出循环。

其他代码

方法一:将整数转化为字符串,然后逐个比较字符

#include <stdio.h>
#include <string.h>int main() {int num = 12321; // 输入的整数char str[20];sprintf(str, "%d", num); // 将整数转化为字符串int len = strlen(str);for(int i = 0; i < len / 2; i++) {if(str[i] != str[len - 1 - i]) {printf("no\n");return 0;}}printf("yes\n");return 0;
}

方法二:通过逆序整数和原数比较

#include <stdio.h>int main() {int num = 12321; // 输入的整数int reversed = 0;int original = num;while(num > 0) {reversed = reversed * 10 + num % 10;num /= 10;}if(reversed == original)printf("yes\n");elseprintf("no\n");return 0;
}

方法三:将整数转化为字符串,然后用双指针法

#include <stdio.h>
#include <string.h>int main() {int num = 12321; // 输入的整数char str[20];sprintf(str, "%d", num); // 将整数转化为字符串int left = 0, right = strlen(str) - 1;while(left < right) {if(str[left++] != str[right--]) {printf("no\n");return 0;}}printf("yes\n");return 0;
}

方法四:将整数转化为字符串,然后使用库函数

#include <stdio.h>
#include <string.h>int main() {int num = 12321; // 输入的整数char str[20], rev[20];sprintf(str, "%d", num); // 将整数转化为字符串strcpy(rev, str);strrev(rev);if(strcmp(str, rev) == 0)printf("yes\n");elseprintf("no\n");return 0;
}

方法五:使用递归

#include <stdio.h>int reverseNum(int num, int rev) {if(num == 0)return rev;return reverseNum(num / 10, rev * 10 + num % 10);
}int main() {int num = 12321; // 输入的整数if(num == reverseNum(num, 0))printf("yes\n");elseprintf("no\n");return 0;
}

这些方法都有各自的优缺点,你可以根据具体的需求和限制来选择最适合的方法。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法笔记~—位运算

目录 常见位运算&#xff1a; 1、基础位运算 2、对于一个数n。确定、修改这个数n二进制x位。 3、提取&#xff08;确定&#xff09;一个数n最右侧的1&#xff08;bit&#xff09;与干掉最右侧的1&#xff08;bit&#xff09; 4、异或运算律 5、位运算的优先级&#xff1a…

Go --- Go语言垃圾处理

概念 垃圾回收&#xff08;GC-Garbage Collection&#xff09;暂停程序业务逻辑SWT&#xff08;stop the world&#xff09;程序根节点&#xff1a;程序中被直接或间接引用的对象集合&#xff0c;能通过他们找出所有可以被访问到的对象&#xff0c;所以Go程序的根节点通常包括…

虚拟机Linux-openEuler硬盘空间扩容

虚拟机Linux-openEuler硬盘空间扩容 1、需求场景 我们在使用虚拟机时&#xff0c;可能会出现磁盘空间不够用导致各种bug出现的情况。 首先&#xff0c;我们要扩展虚拟机的可用磁盘空间。如图所示&#xff0c;我的原本硬盘大小为8G&#xff0c;我们扩展到30GB 2、打开虚拟机…

【git分支管理策略】如何高效的管理好代码版本

目录 1.分支管理策略 2.我用的分支管理策略 3.一些常见问题 1.分支管理策略 分支管理策略就是一些经过实践后总结出来的可靠的分支管理的办法&#xff0c;让分支之间能科学合理、高效的进行协作&#xff0c;帮助我们在整个开发流程中合理的管理好代码版本。 目前有两套Git…

【GameFramework框架内置模块】16、配置(Setting)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群&#xff1a;398291828 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录&#xff1a;…

2024年软件测试,“我“从初级到高级进阶,不再走弯路...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 现在2024年&#…

54、Qt/对话框、事件机制相关学习20240325

一、完善对话框&#xff0c;点击登录按钮&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和密码不匹配&#…

python(django)之单一接口管理功能后台开发

1、创建数据模型 在apitest/models.py下加入以下代码 class Apis(models.Model):Product models.ForeignKey(product.Product, on_deletemodels.CASCADE, nullTrue)# 关联产品IDapiname models.CharField(接口名称, max_length100)apiurl models.CharField(接口地址, max_…

服务运营|香港大学雷骁:收益管理中价格歧视的公平性

编者按&#xff1a; INFORMS George B. Dantzig Dissertation Award 用于表彰运筹学和管理科学领域中具有创新性和实用性的最佳毕业设计。香港大学助理教授雷骁题为“Revenue Management in Video Games and With Fairness” 是这一奖项2023年度的提名者之一。 这篇毕业设计重…

PMSM 永磁同步电机滑膜控制 SVPWM矢量控制 matlab simulink 仿真

仿真搭建平台&#xff1a; (1)该模型采用matlab/simulink 2016b版本搭建&#xff0c;使用matlab 2016b及以上版本打开最佳; (2)该模型已经提前转换了各个常用版本&#xff08;最低为matlab2012b&#xff09;&#xff0c;防止出现提示版本过高的情况。 模型截图&#xff1a; 算…

网游版五子棋

五子棋游戏属于开房间类休闲游戏。可以非常方便实现分布式战斗服横向拓展&#xff0c;只要感觉服务器有压力&#xff0c;可以通过动态加战斗服服务器来实现。本文介绍一个基于jforgame组件开发的五子棋网络小游戏&#xff0c;支持分布式部署战斗服。 1.通信组件 浏览器&#…

Linux:进程概念认识

进程 基本概念 课本概念&#xff1a;程序的一个执行实例&#xff0c;正在执行的程序等 内核观点&#xff1a;担当分配系统资源&#xff08; CPU 时间&#xff0c;内存&#xff09;的实体。 描述进程 -PCB 进程信息被放在一个叫做进程控制块的数据结构中&#xff0c;可以理解为…

34.基于SpringBoot + Vue实现的前后端分离-足球俱乐部管理系统(项目 + 论文)

项目介绍 系统包含用户、教练、管理员三个角色 用户&#xff1a;登录、注册、查看俱乐部公告信息、查看俱乐部赛事信息、个人中心等教练&#xff1a;登录、个人中心、用户管理、赛事管理、球员数据管理、训练计划管理、公告信息管理等管理员&#xff1a;登录、个人中心、教练…

Harmony OS 网络编程 实验指南

netcat简介 netcat 是什么&#xff1f; netcat是一个非常强大的网络实用工具&#xff0c;可以用它来调试TCP/UDP应用程序&#xff1b; netcat 如何安装&#xff1f; Linux上可以使用发行版的包管理器安装&#xff0c;例如Debian/Ubuntu上&#xff1a; sudo apt-get instal…

day07-缓存商品、购物车

1. 缓存菜品 1.1 问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大。 结果&#xff1a; 系统响应慢、用户体验差 1.2 实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓…

Git_.gitignore文件相关知识

.gitignore 作用&#xff1a;指明不对哪些文件进行版本控制。 应当忽略哪些文件&#xff1f; 系统或软件自动生成的文件编译时产生的中间文件和结果文件运行时产生的日志文件&#xff0c;临时文件和缓存文件涉及身份&#xff0c;密码&#xff0c;口令&#xff0c;秘钥等敏感…

Java——基于CompletableFuture的流水线并行处理

CompletableFuture在JDK1.8提供了一种更加强大的异步编程的api。它实现了Future接口&#xff0c;也就是Future的功能特性CompletableFuture也有&#xff1b;除此之外&#xff0c;它也实现了CompletionStage接口&#xff0c;CompletionStage接口定义了任务编排的方法&#xff0c…

C语言结构体之位段

位段&#xff08;节约内存&#xff09;&#xff0c;和王者段位联想记忆 位段是为了节约内存的。刚好和结构体相反。 那么什么是位段呢&#xff1f;我们现引入情景&#xff1a;我么如果要记录一个人是男是女&#xff0c;用数字0 1表示。我们发现只要一个bit内存就可以完成我们想…

Linux离线安装mysql,node,forever

PS:本文是基于centos7实现的,要求系统能够查看ifconfig和unzip解压命令, 实现无网络可安装运行 首先现在百度网盘的离线文件包****安装Xftp 和 Xshell 把机房压缩包传到 home目录下****解压unzip 包名.zip 获取IP先获取到 linux 主机的ip ifconfig Xftp 连接输入IP,然后按照…

FPGA----ZCU106的petalinux 2019.1使用USB传输数据

1、实际项目中需要用到开发板的串口进行数据交互&#xff0c;之前讲的几节只是启动了网口&#xff08;如下链接&#xff09;。因此&#xff0c;本次给大家带来的官方自带串口例程的使用方法&#xff0c;本文的vivado工程和下述连接一样&#xff0c;PL端什么配置都没有。 FPGA-…