编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示。
编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示。
要求:
1) 采用顺序栈实现算法;
2)从键盘输入一个十进制的数,输出相应的八进制数和十六进制数。
#include "stdio.h"
#define StackSize 100
typedef char ElemType;
typedef struct
{ElemType data[StackSize];int top;
}SqStack;
int trans(int d, int b, char string[])
{SqStack st;char ch;int r, i = 0;st.top = -1;if (b <= 1 || b > 36 || b == 10){printf(" b is Error\n");return 0;}while (d!=0){r = d%b;ch = r + (r < 10 ? '0' : 'A' - 10);st.top++;st.data[st.top] = ch;d /= b;}while (st.top != -1){string[i++] = st.data[st.top];st.top--;}string[i] = '\0';return 1;
}
void main()
{char str[10];int d, b, t;printf("输入一个整数:");scanf_s("%d", &d);printf("转换为8进制后的数:\n");t = trans(d, 8, str);if (t == 0) printf("Error!");else printf("%s\n", str);printf("转换为16进制后的数:\n");t = trans(d, 16, str);if (t == 0) printf("Error!");else printf("%s\n", str);
}
欢迎访问我的博客https://www.ndmiao.cn/
编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示。相关推荐
- 非负的十进制整数N转换为一个二进制
题目 非负的十进制整数N转换为一个二进制 /****************************************************************************** ...
- 输入一个十进制数据,转换为8进制,使用顺序栈实现.
#include <stdio.h> #include <stdlib.h> #include <stdbool.h> //顺序栈管理结构体: typedef st ...
- java 二进制输入_把从键盘输入的一个二进制数赋给变量A 然后如何转换为其他进制...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public class DigitConvert { public static void main(String args[]){ int iOct= ...
- 【第13天】给定一个十进制数字 B ,请你把它转换为R进制打印 | 进制转换
本文已收录于专栏 <Java入门一百例> 学习指引 序.专栏前言 序.本章前言 一.[例题1] 2.解题思路 3.模板代码 1.方法1 2.方法2 4.代码解析 二.推荐专栏 三.课后习题 ...
- 顺序栈实现十进制转成R进制
2016年7月31日13:53:37利用顺序栈实现十进制整数转换转换成r进制1.算法思想将十进制数N转换为r进制的数,其转换方法利用辗转相除法,以N=3456,r=8为例转换方法如下:N N / 8 ...
- 七进制转十进制java_java基础——Java进制转换
Java中在声明数字时默认采用的是十进制,可以在数字前加上符号表示数字采用八进制[前面加0(零)]或者十六进制[前面加上0x(零x)]. Java的整型封装类Integer和Long提供toStrin ...
- Java中十进制转换为其他进制的方法
package com.hehe.domain;public class NumberDemo {public static void main(String[] args) {//十进制20转换为二 ...
- 用栈实现将十进制数转换为任意进制数(2,8,16...).
解题思路:假如N为输入的数,n为要转换为的进制,若要将十进制231转换为8进制数,过程如下; N N/n N%n ...
- 进制转换之十进制转换为D进制——整数部分除基取余法
将十进制x转换为D进制的y: [方法]:整数采用"除基取余法",小数采用"乘基取整法" [推导]:以三位D进制为例,假设y的各位是a1a2a3 y = a 1 ...
最新文章
- (未完)httpd进程数查询,prefork模式修改apache最大连接数
- centos安装ssdb
- 06.系统编程-2.线程
- 出现画面抖动_解析液晶拼接大屏在使用中出现的常见问题及解决方案
- 点击显示隐藏盒子函数
- 【转】用fo-dicom实现print scu的注意事项!!!!!!!!!
- resnet50网络结构_AAAI2020 | 利用网络结构关系加速NAS+Layer
- 安卓 多条通知_安卓11第一版发布:原生滚动截屏、屏幕录像、抄国内ROM这么多...
- TTU智能配电终端_智能配电终端规模化建设及应用
- shell之旅--将目录下的文件重命名为md5码+后缀名
- c语言立方体的体积和表面积,立方体表面积C语言
- js 计算时间差 函数
- 模型的泛化能力--正则化
- 初学Spring Cloud踩得坑之Caused by: org.springframework.context.ApplicationContextException
- 用代码实现windows10下的虚拟桌面创建功能
- 上研究生学计算机去河大学校好不好,河南大学研究生,河南大学研究生值得读吗?...
- 专访哈佛公共卫生学院院长胡里奥·弗兰克
- EMW3080+STC15轻松实现设备上云4(阿里云物联网平台、智能生活开放平台)
- F5系统配置备份及恢复
- Node:找不到模块Error: Cannot find module