利用棧實現整數的十進位制轉八進位制

2022-05-13 07:37:28 字數 1540 閱讀 1120

任務描述

本關任務:基於棧stack資料結構解決整數十進位制轉八進位制的問題。

相關知識

棧是基礎的資料結構,元素操作遵循後進先出的原理。本關卡基於陣列儲存實現了棧的基本操作。

c++ stl中提供了棧結構的實現 1、c++ stl棧stack的標頭檔案為:#include2、c++ stl棧stack的成員函式介紹top():返回乙個棧頂元素的引用,型別為 t&。如果棧為空,返回值未定義。push(const t& obj):可以將物件副本壓入棧頂。push(t&& obj):以移動物件的方式將物件壓入棧頂。pop():彈出棧頂元素。size():返回棧中元素的個數。empty():在棧中沒有元素的情況下返回 true。emplace():用傳入的引數呼叫建構函式,在棧頂生成物件。swap(stack& other_stack):將當前棧中的元素和引數中的元素交換。引數所包含元素的型別必須和當前棧的相同。

例:以下**實現了,輸入5個元素,並逆序輸出。

// stack::push/pop

#include

#include

usingnamespacestd;

intmain ()

cout <

return0;

}

為了完成本關任務,你需要掌握:1.如何建立乙個棧,2.入棧、出棧操作,3.進製轉換。

進製轉換

除k取餘法,例如十進位制數10轉二進位制:

上圖可得:k=2,1010​=10102​即:10=1×23+0×22+1×21+0×20

程式設計要求

本關的程式設計任務是補全右側**片段decimal_conversion_octalbeginend中間的**,具體要求如下:

輸入輸出說明

輸入十進位制數n(n為絕對值不超過10000的整數),輸出n對應的八進位制數。

樣例一: 測試輸入:71預期輸出:107

樣例二: 測試輸入:8預期輸出:10

//

輸入10進製數,轉換為8進製數輸出

#include #include

using

namespace

std;

intmain()

while(!v.empty())

}/********** end *********

*/}

利用棧實現二進位製到十進位制 八進位制的轉換

二進位制 十進位制 include include include define maxsize 1024 初始化棧有1024個空間 define add maxsize 100 棧記憶體不夠時增加100個空間 typedef char elemtype typedef struct seqstac...

c 八進位制 轉 十進位制

概述 其實x進製轉十進位制的演算法都差不多,不過如果是針對於字元形式,他們卻有點不同.使用指標和陣列的形式計算,又不同.這裡演示將字元型的陣列形式的八進位制轉成十進位制 1 include 2 include 3 include 4 5 define max 10 67 初始化陣列為八進位制.8vo...

二進位制如何轉十進位制,十進位制如何轉二進位制

學計算機的朋友剛開始學習時都要接觸進製之間的轉換,二進位制 十進位制 八進位制 十六進製制等,這個是很枯燥的,轉來轉去就轉矇圈了,別蒙別蒙,今天咱們乙個乙個搞定,看看二進位制和十進位制之間如何相互轉換的。轉成二進位制主要有以下幾種 正整數轉二進位制,負整數轉二進位制,小數轉二進位制 1 正整數轉成二...