?? 習題1-數制轉換(1).c
字號:
#include "datastru.h"
#include <stdio.h>
void initstack(SEQSTACK *s)
{/*順序棧初始化*/
s->top = 0;
}
DATATYPE1 gettop(SEQSTACK *s)
{/*返回棧頂元素*/
DATATYPE1 x;
if(s->top == 0)
{printf("棧空\n");
x = 0;}
else
x = (s->data)[s->top];
return x;
}
int push(SEQSTACK *s, DATATYPE1 x)
{/*元素x入棧*/
if(s->top == MAXSIZE - 1)
{ printf("棧滿\n");
return 0;}
else
{ s->top ++;
(s->data)[s->top] = x;
return 1;}
}
DATATYPE1 pop(SEQSTACK *s)
{/*返回棧頂元素并刪除棧頂元素*/
DATATYPE1 x;
if(s->top == 0)
{ printf("棧空\n");
x = 0;}
else
{ x = (s->data)[s->top];
s->top--;}
return x;
}
main( )
{
SEQSTACK stack, *s;
int n;
s = &stack;
initstack(s);
n = 0;
printf("輸入一非負整數(十進制) :");
scanf("%d",&n);
push(s,'#');
while(n != 0)
{push(s, n % 8); /* %為求余數運算符, 余數入棧*/
n = n / 8;} /* /為求整數商運算符,商不為零,繼續運行*/
printf("\n\n對應的八進制數為 :");
while(gettop(s) != '#')
printf("%d",pop(s));
printf("\n");
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -