將十進位制數轉換為八進位制,並輸出。
圖:將十進位制數轉換為八進位制並輸出
輸入包含若干十進位制正整數。
輸出相應的八進位制數,每個佔一行。 12
3789
191002034512
371011
2346162771
#include#include#include/* malloc()等 */
#include/* int_max等 */
#include/* eof(=^z或f6),null */
#include/* atoi() */
#include/* floor(),ceil(),abs() */
/* 函式結果狀態** */
#define true 1
#define false 0
#define ok 1
#define error 0
#define infeasible -1
typedef int status; /* status是函式的型別,其值是函式結果狀態**,如ok等 */
typedef int boolean; /* boolean是布林型別,其值是true或false */
#define stack_init_size 10 /* 儲存空間初始分配量 */
#define stackincrement 2 /* 儲存空間分配增量 */
typedef int selemtype; /* 定義棧元素型別為整型 */
typedef struct sqstack
sqstack; /* 順序棧 */
status initstack(sqstack *s)
status push(sqstack *s,selemtype e)
*((*s).top)++=e;
return ok;
}status pop(sqstack *s,selemtype *e)
status stackempty(sqstack s)
void conversion(int n) /* 演算法3.1 */
while(!stackempty(s)) /* 當棧不空 */
printf("\n");
}int main()
return 0;
}
演算法3 1 八進位制數(進製轉換)
在c語言中,我們學過如何控制八進位制,六進製制格式化輸出。int x cin x printf d,o,x n x,x,x 所以這個題目我們可以直接格式化輸出,但是我們在學習資料結構的過程中,我們理解到真正的進製轉化是取餘後反轉。所以我們可以得到 include using namespace st...
十六進製制轉八進位制演算法
兩種解法 都需要中轉一次 第一種 十六轉十,十轉八.由於執行多次迴圈,當資料很大時,超時.include includeusing namespace std long long lc int a,int n 10 8 int a 10 int l sum int i 0 while l for i...
八進位制與十六進製制的演算法
除了二進位制,程式設計中也經常使用八進位制和十六進製制。八進位制有0 7共8個數字,基數為8,逢八進一,借一當八 十六進製制中,用a來表示10,b表示11,c表示12,d表示13,e表示14,f表示15,因此有0 f共16個數字,基數為16,逢16進1,借1當16。例如 二進位制 八進位制 十進位制...