任務描述
本關任務:基於棧stack
資料結構解決整數十進位制轉八進位制的問題。
相關知識
棧是基礎的資料結構,元素操作遵循後進先出的原理。本關卡基於陣列儲存實現了棧的基本操作。
c++ stl中提供了棧結構的實現 1、c++ stl棧stack的標頭檔案為:#include
2、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_octal
中begin
至end
中間的**,具體要求如下:
輸入輸出說明
輸入十進位制數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 正整數轉成二...