首页 > 其他分享 >SWUST OJ 961: 进制转换问题

SWUST OJ 961: 进制转换问题

时间:2024-03-18 23:04:25浏览次数:17  
标签:return 961 sqstack int top elem SWUST Stack OJ

题目描述

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

输入

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

输出

转换后的二进制数。

样例输入

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;	
}

 程序仅供学习参考!

标签:return,961,sqstack,int,top,elem,SWUST,Stack,OJ
From: https://blog.csdn.net/2301_77942204/article/details/136824691

相关文章

  • NOJ南邮上机 最大公约数和最小公倍数 PROB1006 Python
    PROB1006  最大公约数和最小公倍数描述:求两个正整数的最大公约数和最小公倍数输入:两个正整数A,B输出:两个正整数的最大公约数、最小公倍数样例输入:43样例输出:112defmax_gcd(a,b):whileb!=0:temp=a%ba=bb=temp......
  • CMU15445 2022fall project2
    CMU154452022fallproject2CheckPoint1Task1B+TreePages这部分主要是给page、internal、leaf三个page类实现一些get、set方法和一些简单的函数。注意点:判断rootpage:parentpageid=INVALID_PAGE_IDGetMinSize():叶子结点为max_size_/2,内部节点为(max_size_+1)......
  • POJ3057 Evacuation 题解
    传送门题意:给定一张字符地图,#代表墙,.代表空地,D代表门。初始每个空地都有一个人。每个人可以在一秒内向上下左右移动一格。一个空地可以站任意多人。一个人走到门视作逃生成功。但是门很窄,一个时刻内只能有一个人进门。问所有人逃生的最短时间。\(n\le12\)。注意到门一个......
  • [BZOJ3306] 树
    题目[BZOJ3306]树样例输入:37011213Q1V16Q1V25Q1V34Q1样例输出:1234数据范围\({n,Q\leq10^5}\)分析\(\color{skyblue}{1}\)这道题如果没有操作换根那她就是一道板得不能再板的一道板子题但是\(\color{red}{\large没有如果!}\)所以这......
  • 杭电OJ 2072-单词数
    单词数因为新学了散列表容器map,这道题只用统计不同单词的总数,用映射再统计个数蛮合适,学以致用doge,需要注意文章开头可能有空格,最后要把空格这一映射减掉。AC代码:#include<iostream>#include<cstdio>#include<map>#include<string>usingnamespacestd;map<string,......
  • pyCharm oj 习题 列表合并、去重、排序
    列表合并、去重、排序ProblemDescription从键盘输入两个数列,构成两个列表list1、list2,合并这两个列表为list3,将list3去掉重复元素、降序排序后生成list4.InputDescription输入两个数列,以英文逗号分隔OutputDescription输出列表list1、list2、list3、list4SampleInpu......
  • [bzoj2120]数颜色/维护队列 (分块)
    数颜色/维护队列[做题笔记]此生第一道不贺题解\(AC\)的分块蓝题!!!题目描述墨墨@hs_mo购买了一套\(N\)支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令:\(Q\L\R\)代表询问你从第\(L\)支画笔到第\(R\)支画笔中共有几种不同颜色的......
  • LibreOJ 3591 「USACO 2018.02 Platinum」Cow Gymnasts
    以\(0\)为初始下标。考虑到这个平台之间的转移不是很好处理,于是考虑换个角度,考虑每个高度。这里定义高度为\(i\)的奶牛就是下一次操作要走\(i\)步的奶牛。然后考虑去分析合法序列的性质。性质\(1\):高度为\(x\)的奶牛在移动后的高度依然为\(x\),即这个过程可以看作每......
  • LibreOJ 4114 「联合省选 2024」迷宫守卫
    因为最后的比较方式是字典序,可以明确肯定是贪心的先让第一个数尽量大,然后是第二个数尽量大,以此类推。考虑到如果选出了第一个数,那么按照其\(\text{dfs}\)的方式,相当于是把根到这个树的链删掉了,变成了许多颗子树,然后在按照\(\text{dfs}\)遍历这几个子树的顺序依次在子树中类似......
  • 网络流建模之拆点,原理详解,OJ练习
    一、网络流建模之拆点1.1问题引入现有工厂s,仓库t,中转站若干,s到中转站有若干道路,中转站到仓库有道路若干,工厂要向仓库运输一定的货物,每条道路都有最大运输量限制,问最大运货量。1.2转化为网络流问题显然上述问题我们可以轻松的建模转化为网络流问题该流网络的最大流就......