SWUST OJ 961: 进制转换问题

news/2024/7/24 11:02:09 标签: 数据结构, c++, 算法

题目描述

建立顺序栈或链栈,编写程序实现十进制数到二进制数的转换。

输入

输入只有一行,就是十进制整数。

输出

转换后的二进制数。

样例输入

10

样例输出

1010

参考程序

#include<iostream>
using namespace std;
#define maxsize 100

void concersion(int n){
	int a[maxsize];
	int top =0;  //栈为空
	
	while(n){
		a[top++]=n%2; //入栈 ;先用后加 
		n=n/2;
	} 
	while(top){
		cout<<a[--top]; //先减后用 
	}
}
int main(){
	int n;
	cin>>n;
	concersion(n);
	return 0;
} 
#include<stdio.h>
#include<stdlib.h>

#define Maxsize 50
typedef struct stack
{
	int data[Maxsize];
	int top;
}Stack;

void Init(Stack *&S)
{
	S=(Stack *)malloc(sizeof(Stack));
	S->top=-1;
}

bool Push(Stack *&S, int elem)
{
	if(S->top==Maxsize-1)	return false;
	S->top++;
	S->data[S->top] = elem;
	return true;
}

bool Pop(Stack *&S, int &elem)
{
	if(S->top ==-1)	return false;
	elem=S->data[S->top];
	S->top--;
	return true;
}

int main()
{
	int n;
	scanf("%d", &n);
	Stack *S;
	Init(S);
	while(n!=0)
	{
		int elem;
		elem =n%2;
		Push(S, elem);
		n/=2;
	}
	while(S->top !=-1)
	{
		int elem;
		Pop(S, elem);
		printf("%d", elem);
	}
	return 0;
}

#include<stdio.h>
#include<stdlib.h>
#define maxsize 100
typedef struct sqstack
{
	int data[maxsize];
	int top;
}sqtack;
void Initstack(sqstack *&s)
{
	s=(sqstack *)malloc(sizeof(sqstack));
	s->top=-1;
}
int push(sqstack *&s,int e)
{
    if(s->top==maxsize-1)
	return 0;
	else
	s->top++;
	s->data[s->top]=e;
	return 1;	
}
int pop(sqstack *s,int &e)
{
	if(s->top==-1)
	return 0;
	else
	e=s->data[s->top];
	s->top--;
	return 1;
}
int main()
{
	int n,e;
	sqstack *s;
	Initstack(s);
	scanf("%d",&n);
	while(n)
	{
		push(s,n%2);
		n=n/2;
	}
	while(1)
	{
		int m=pop(s,e);
		if(!m)
		{
			break;
		}
		printf("%d",e);
	}
	return 0;	
}

 程序仅供学习参考!


http://www.niftyadmin.cn/n/5436481.html

相关文章

在Pod中使用Golang构建并推送镜像到镜像仓库

在Pod中使用Golang构建并推送镜像到镜像仓库&#xff0c;你可以使用kaniko库来构建镜像&#xff0c;然后使用go-containerregistry库来推送镜像。 以下是一个基本的示例&#xff0c;展示如何使用这两个库来构建并推送镜像&#xff1a; package mainimport ("context&quo…

【防红链接系统源码】自带7个接口的冰狱防红系统 支持直连和跳转防红

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 一共5个前台模板随便换。 支持对接易支付和码支付!!自己申请接口即可。 另外自己测试了下。可以生成短链&#xff0c;但访问的时候没能成功跳转。 二、效果展示 1.部分代码 代码…

【数据库】MySQL表的增删改查

文章目录 一、CRUD二、2. 新增&#xff08;Create&#xff09; 一、CRUD 注释&#xff1a;在SQL中可以使用“–空格描述”来表示注释说明 CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写 二、2. 新增&#xff08;Create&#xff09; …

【兆易创新GD32H759I-EVAL开发板】 LUT功能

颜色查找表&#xff08;LUT, Lookup Table&#xff09;模式在图像处理和显示中是一种有效的数据表示和压缩方式。它通过将图像中的颜色映射到一个预定义的颜色表来实现&#xff0c;这样每个像素不是直接存储完整的颜色值&#xff0c;而是存储一个指向颜色表中特定颜色的索引。这…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:FlowItem)

瀑布流组件的子组件&#xff0c;用来展示瀑布流具体item。 说明&#xff1a; 该组件从API Version 9开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。仅支持作为Waterflow组件的子组件使用。 子组件 支持单个子组件。 接口 FlowItem() 使…

算法之前缀和

题目1: 【模板】一维前缀和&#xff08;easy&#xff09; 方法一: 暴力解法, 时间复杂度O(n*q), 当n10^5, q 10^5, 时间复杂度为O(10^10), 会超时. 方法二: 前缀和: 快速求出数组中某一段连续区间的和. 第一步: 预处理出来一个前缀和数组dp: 1. dp[i]表示区间[1,i]里所有元…

群晖部署私人聊天服务器Vocechat并结合内网穿透实现公网远程访问

文章目录 1. 拉取Vocechat2. 运行Vocechat3. 本地局域网访问4. 群晖安装Cpolar5. 配置公网地址6. 公网访问小结 7. 固定公网地址 如何拥有自己的一个聊天软件服务? 本例介绍一个自己本地即可搭建的聊天工具,不仅轻量,占用小,且功能也停强大,它就是Vocechat. Vocechat是一套支持…

【NTN 卫星通信】 TN和多NTN配合的应用场景

1 场景描述 此场景描述了农村环境&#xff0c;其中MNO (运营商TerrA)仅在城市附近提供本地地面覆盖&#xff0c;而MNO (SatA)提供广泛的NTN覆盖。SatA使用GSO轨道和NGSO轨道上的卫星。SatA与TerrA有漫游协议&#xff0c;允许:   所有TerrA用户的连接&#xff0c;当这些用户不…