2021-10-27

2023-05-16

十进制整数转换,使用链栈实现,实验报告

  1. 内容:
    将十进制整数num转换为r进制数,其转换方法为辗转相除法,要求用链栈实现

  2. 算法分析:
    程序中设计了四个函数:
    ➢函数IiStack用来初始化一个顺序栈:
    ➢函数Emply(用来实现栈的判空操作:
    ➢函数 Pop0用来实现元素的出栈操作:
    ➢函数Convert)用来实现数制转换算法。
    数值转换问题需要用到栈的基本操作,程 序中用三个函数分别实现链栈的入栈、判断栈空和出栈操作。主函数有两个输入,即输入待转化的数和要转化的进制,函数Convert算法思想为:对待转换的数先判断正负,用f–else 语句分别实现正数和负数的转化,转换的思想是利用算数运算中的取余和取整操作,借助于栈的操作,进行辗转相除来实现。

  3. 概要设计:
    dates
    -Push(linkstack* top, datatype x):int
    -Empty(linkstack top):int
    -Pop(linkstack* top,datatype*x):int
    Convert(int num, int mode):void

  4. 源码

/* author:雷玉莹  
 time:2021年10月14日16.10   
 version:1.0 
 description:将十进制整数num转换为r进制数,转换方法为辗转相除法。    
 本设计使用链栈实现,程序中设计了四个函数:                       函数InitStack()用来初始化一个顺序栈;                  函数Empty()用来实现栈的判空操作;                  函数Pop()用来实现元素的出栈操作;                  函数Convert()用来实现数值转换算法。*/#include<stdio.h>
 #include<stdlib.h>
 typedef int datatype;
 typedef struct node
 {    
 datatype data;   
 struct node* next;}
 *linkstack;/*入栈*/
 int Push(linkstack* top, datatype x){    linkstack s = (linkstack)malloc(sizeof(struct node));    if (s == NULL)   
  return 0;  
  s->data = x;  
  s->next = (*top);  
    (*top) = s;  
     return 1;}/*判空*/int Empty(linkstack top){
      if (top == NULL) 
     return 1;    
     return 0;}/*出栈*/
     int Pop(linkstack* top, datatype* x){   
      if (top != NULL)  
        {       
         linkstack p = (*top);           (*x) = (*top)->data;    
 (*top) = (*top)->next;    
     free(p);      
       return 1;    }   
        return 0;}/*十进制整数转换为任意进制数*/
        void Convert(int num, int mode){    int h;  
          linkstack top = NULL;    printf("转换结果为:"); 
           if (num > 0) 
              {        while (num != 0)        {            h = num % mode;            Push(&top, h);   
                       num = num / mode;        }    
                           while (!Empty(top))    
                               {            Pop(&top, &h)printf("%d", h);        }        printf("\n");    }    else if (num < 0)    {        printf("-");        num = num * (-1);        while (num != 0)        {            h = num % mode;            Push(&top, h);            num = num / mode;        }        while (!Empty(top))        {            Pop(&top, &h);            printf("%d", h);        }        printf("\n");    }    else        printf("%d\n", 0);}void main(){    int num, mode;    printf("\n 输入要转化的数:");        scanf_s("%d", &num);    printf("输入要转化的进制:");    scanf_s("%d", &mode);    Convert(num, mode);}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2021-10-27 的相关文章

  • 2021-11-17:virtualbox6+Ubuntu18.04,虚拟机与主机间ping不通问题解决方案

    虚拟机可以ping通主机 xff0c 但是主机ping不通虚拟机的解决方案 1 先要查看虚拟机以及主机防火墙是否都关闭 xff0c 虚拟机防火墙关闭方法 xff1a a sudo apt get install ufw 安装 b sudo
  • 恒温箱课程设计(2021.4.12)

    第一步 方案选择 淘宝闲鱼csdn 主要难点在于 xff1a 小控大是难点 xff0c 对执行器和驱动的选择 最终 电磁和固态继电器都不行 xff0c 要可控相位的继电器 xff0c 太贵了 只能固态了 xff0c if控制 xff0c 效
  • 2021-06-25 SONiC 系统BGP配置命令

    2021 06 25 SONiC 系统BGP配置命令 SONiC系统BGP配置 SONiC系统所默认包含的BGP模块在201811版的SONiC之前是开源的Quagga软件 xff0c 之后改成了更流行的FRR FRR中的Show命令是以
  • MySQL数据库面试题(2021最新版)

    文章目录 1 数据库基础知识为什么要使用数据库什么是SQL 什么是MySQL 数据库三大范式是什么MySQL有关权限的表都有哪几个MySQL的binlog有有几种录入格式 xff1f 分别有什么区别 xff1f 2 引擎MySQL存储引擎M
  • 2021-02-11

    多旋翼飞行器学习笔记 一 多旋翼基本组成 1 1机架 xff08 机身 起落架 涵道 xff09 1 机身 机身要考虑的有 xff1a 尺寸 布局 材料 强度 重量 指标参数包括 xff1a 重量 轴距 xff08 外圈电机围城圆的直径 x
  • 2021最新阿里云部署k8s集群(篇1 购买服务器)

    实验kubernetes版本 xff1a v1 22 1 x1f947 阿里云地址 阿里云开发者社区 阿里云官网开发者社区 云计算社区 注意 xff1a 做此实验先准备100RM xff0c 本实验为抢占实例 CentOs版本 xff1a
  • 陇剑杯 2021 write up整理

    竞赛 write up 收集和整理 陇剑杯 2021 write up整理1 签到题1 1 2 JWT2 12 22 32 42 52 6 3 webshell3 13 23 33 43 53 63 7 4 日志分析4 14 24 3 5
  • 2021电赛F题之openmv巡线(附代码)

    效果展示 xff1a 出错解决方法 openmv数字识别源代码 gitee 通过使用不同阈值的方法可以得到当前区域中什么区域有红线 xff0c 对于电控而言作用类似于红外对管 xff0c 之后电控通过逻辑判断如何运动 xff0c 这就是我们
  • 北航2系921 2021考研历年真题及参考答案(2020-2004)

    需要自取 百度网盘 提取码 xff1a iwbg 关于2020北航921试题 相信大家都听说了 xff0c 2020年的921试题整体难度较2019年小 2019考完后 xff0c 群里面怨声载道 xff0c 信号10年没考电路题了怎么就今
  • 2021-06-02

    在ROS中仿真模型中添加gps传感器 获取gps传感器模型包为自己的机器人添加gps传感器将gps之中的经度纬度坐标转化为自己地图中的坐标 1 获取gps传感器模型包 link http wiki ros org hector gazebo
  • 2021电赛F题数字识别和巡线部分

    文章之前12月发了一次 xff0c 但是我后来申请的免毕设后 xff0c 用到了一些文字 xff0c 所以删了这篇文章 xff0c 但是还是查重了 xff0c 于是我把一些程序讲解先删了 xff0c 等毕设结束后再编辑加上 这次电赛我没有准
  • 2021-03-19

    输出 数字直角三角形 1 2 3 4 5 6 7 8 9 10 11 12 可根据需要增加行数 public class trangle 64 param args public static void main String args T
  • 2021年Linux技术总结(四):Linux 驱动

    一 裸机驱动开发流程 所谓裸机在这里主要是指系统软件平台没有用到操作系统 在基于ARM处理器平台的软件设计中 xff0c 如果整个系统只需要完成一个相对简单而且独立的任务 xff0c 那么可以不使用操作系统 xff0c 只需要考虑在平台上如
  • 2021-03-16

    hullib Rtc 获取时间之后必须获取日期他才会有时间 HAL RTC GetTime amp hrtc amp sTime RTC FORMAT BIN HAL RTC GetDate amp hrtc amp sDate RTC F
  • Daily practice——2021/1/31

    1 函数若无返回值 则它一定无形参 请问这个说法是正确的吗 xff1f 答 xff1a 这个说法不正确 一个函数可以有参数 xff0c 没有返回值 xff1b 可以没有参数 xff0c 有返回值 xff1b 可以没参数 xff0c 没返回值
  • 【AI视野·今日CV 计算机视觉论文速览 第225期】Wed, 23 Jun 2021

    AI视野 今日CS CV 计算机视觉论文速览 Wed 23 Jun 2021 Totally 73 papers x1f449 上期速览 更多精彩请移步主页 Daily Computer Vision Papers Tracking Ins
  • 2021-01-18

    求助 xff0c 关于Ubuntu20 04安装网络调试助手打不开的问题 我在虚拟机上安装了Ubuntu20 04并安装了网络调试助手 xff0c 但却打不开 xff0c 运用了sudo apt get libqtgui4 amd64也没用
  • 2021校招_海康威视

    2021届海康威视面试 一面 xff1a 1 https与http协议的区别 2 Spring的启动过程 3 Springboot相比较Spring的优点 4 Linux修改文件权限命令 5 项目中所用到的技术 6 Restful风格 7
  • 2021校招_满帮(运满满)

    一面 xff08 电话面 xff09 xff1a 25min 1 询问HashMap相关结构以及原理 2 红黑树的基本结构 xff0c 以及什么时候会LL xff08 左转 xff09 3 Spring如何解决循环依赖的 4 Redis缓存
  • 2021-07-22

    MSP432在keil中通过CMSIS DAP下载程序出现cannot enter debug mode的解决办法 xff1a MSP432下载程序出现cannot enter debug mode 可以通过修改如下设置 Debug里面的两

随机推荐

  • Anaconda常用指令

    首先 进入cmd的方法 xff1a win 43 R打开运行窗口 xff0c 然后在运行窗口中输入cmd xff0c 回车 xff0c 进入命令行 然后 输入以下命令 xff1a conda activate 创建环境 xff1a cond
  • C#中的委托(Delegate)和事件 (Event)详解与使用范例

    一 委托 Delegate 1 委托 Delegate 简介 最近天气晴雨不定 你因为害怕打游戏时忘记在下雨时收衣服或者在天晴时把衣服挂出去 于是你委托好友小明在天气发生变化时打电话通知你 这就是一种委托 下面是这种委托的实例代码 定义一个
  • Unity Instantiate函数用于复制对象

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言 一 Instantia xff08 xff09 的使用方法 二 参数详解 1 Object original 2 Tran
  • [Unity][Bug记录] AnimationEvent has no function name specified!

    1 BUG记录 xff1a AnimationEvent has no function name specified 经过排查 xff0c 这是在动画Animation界面添加了空的动画事件 xff08 如图 xff09 一般是在一个点手
  • python中的class Solution(object):的含义与类继承与类、对象概念的详解

    目录 前言 1 什么是类 2 类的继承 总结 前言 我们会在python学习中遇到了如class Solution object 这种形如class className object 这种类定义 xff0c 与平常使用的class clas
  • 【python3】 函数指定参数类型,如:fun(self, s: str) -> str:

    目录 指定参数方法如下 xff0c 参考 GetStringSelf的定义 虽然能够指定参数类型 xff0c 当输入参数类型错误不会报错 返回值错误也不报错 总结 xff1a 今天突然发现了在python3中的函数定义可以指定参数了 因此写
  • 自相关函数与互相关函数

    转自 xff1a https blog csdn net denghecsdn article details 78848046 1 概念 相关函数是描述信号X s Y t xff08 这两个信号可以是随机的 xff0c 也可以是确定的 x
  • [错误记录]The ‘typing‘ package is an obsolete backport of a standard library package

    在使用pyinstaller时报错如下 xff0c The 39 typing 39 package is an obsolete backport of a standard library package and is incompat
  • [计算机通信网络]以太网的帧格式详解

    目录 一 前言 二 以太网的帧格式 Preamble xff08 前导码 xff09 xff1a SFD xff08 帧开始定界符 xff09 xff1a Destination Address xff0c Source Address x
  • [Linux]Windows使用ssh连接Linux虚拟机(mininet)

    作者 xff1a 清水寺丞 简介 xff1a 正在学习unity xff0c 数据库 xff0c 计算机通信网络和python 喜欢部署各种奇奇怪怪的小项目 喜欢就点个关注一起学习吧 目录 前言 xff1a 一 步骤 1 查看虚拟机IP地址
  • [SDN]使用mininet搭建单臂路由的VLAN网络

    作者 xff1a 清水寺丞 简介 xff1a 正在学习unity xff0c 数据库 xff0c 计算机通信网络和python 喜欢部署各种奇奇怪怪的小项目 喜欢就点个关注一起学习吧 前言 xff1a 本文实践了使用mininet来搭建一个
  • Spring整合MyBatis导致一级缓存失效问题

    熟悉MyBatis的小伙伴都知道MyBatis默认开启一级缓存 xff0c 当我们执行一条查询语句后 xff0c MyBatis会以我们查询的信息生成一个缓存key xff0c 查询的结果为value xff0c 存到一个map中 xff0
  • 用echarts写潮汐表,并处理后端传来的数据为潮汐表接口的数据

    这是后端传来的接口类型 xff1a 其中分别是今天 xff0c 昨天 xff0c 明天的数据 xff0c 一天24个小时 xff0c 分别为a0和a23表示 xff1b 后端接口数据如下 xff1a dom表单代码如下 xff1a lt d
  • 分类算法-Logistic Regression(逻辑回归)实战案例

    一 定义 逻辑回归是一种广义线性回归模型 xff0c 主要用于二分类 问题 xff08 也可以用于多分类 xff09 xff0c 具有简单 可并行化 解释性强的特点 xff0c 目前在各个领域使用的都非常频繁 逻辑回归的本质是假设数据服从伯
  • 快乐数算法

    def sum l n sum a 61 0 for i in str n sum a 43 61 int i 2 return sum a sum1 61 n 61 int input 请输入数字 while sum l n not in
  • 2021-04-26

    标题altium 相同原理图导入PCB厚如何避免重复建布局 思想 xff1a channel offset 使每个component的offset一致 方法 xff1a 步骤一 xff0c 选取其中一个布局好 xff0c 创建一个room1
  • 深度学习模型压缩与优化加速

    1 简介 深度学习 xff08 Deep Learning xff09 因其计算复杂度或参数冗余 xff0c 在一些场景和设备上限制了相应的模型部署 xff0c 需要借助模型压缩 优化加速 异构计算等方法突破瓶颈 模型压缩算法能够有效降低参
  • 选择排序算法(思路分析) [数据结构][Java]

    选择排序算法 思路分析 基本介绍 选择排序也属于内部排序的一种 是从 34 欲排序的数据 34 中 按照指定的规则选出某一元素 再根据规定交换位置后达到排序的目的 选择排序思想 以升序排序为例讲解 选择排序 Select Sorting 也
  • 2021-09-29

    第一次数据结构与算法作业 https share weiyun com Bfh1pSeJ 初学者 x1f913 xff0c 算法漏洞较多 希望各位大佬指点一下 xff0c 谢谢大家
  • 2021-10-27

    十进制整数转换 xff0c 使用链栈实现 xff0c 实验报告 内容 xff1a 将十进制整数num转换为r进制数 xff0c 其转换方法为辗转相除法 xff0c 要求用链栈实现 算法分析 xff1a 程序中设计了四个函数 函数IiStac