使用C語言實(shí)現(xiàn)棧結(jié)構(gòu) 并完成二進(jìn)制到十進(jìn)制的轉(zhuǎn)換
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、吉縣網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為吉縣等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。#include#include#include#define STACK_INIT_SIZE 20
#define STACK_INCREMENT 10
typedef char ElemType;
typedef struct // 這里是將匿名結(jié)構(gòu)體重命名為了sqStack
{
ElemType *bottom;
ElemType *top;
int stackSize;
} sqStack;
void InitStack(sqStack *s) {
s->bottom = (ElemType *)malloc(STACK_INIT_SIZE * sizeof(ElemType));
if (!s->bottom)
{
exit(0);
}
s->top = s->bottom;
s->stackSize = STACK_INIT_SIZE;
}
void Push(sqStack *s, ElemType e) {
if (s->top - s->bottom >= s->stackSize) // 到這里說明棧已經(jīng)滿了 如果要寫入 需要增加空間
{
s->bottom = (ElemType *)realloc(s->bottom, (s->stackSize + STACK_INCREMENT) * sizeof(ElemType));
if (!s->bottom) // 申請(qǐng)空間失敗
{
exit(0);
}
}
*(s->top) = e;
s->top++;
}
void Pop(sqStack *s, ElemType *e) {
if (s->top == s->bottom) // 說明棧中為空
{
return;
}
s->top--; // 取值時(shí)一定要先減
*e = *(s->top);
}
int StackLen(sqStack s) {
return s.top - s.bottom; // 地址相減 返回這中間的元素個(gè)數(shù)
}
int main()
{
ElemType c;
sqStack s;
int len,i,sum = 0;// 這里只會(huì)將sum設(shè)置為0
InitStack(&s);
printf("請(qǐng)輸入二進(jìn)制數(shù) 以井號(hào)結(jié)束");
scanf("%c", &c);
while(c != '#') {
Push(&s, c);
scanf("%c", &c);
}
getchar();
len = StackLen(s);
printf("當(dāng)前容量是%d\n", len);
for (int i = 0; i< len; ++i)
{
Pop(&s, &c);
sum = sum + (c - 48) * pow(2, i);// 因?yàn)樵贏SCII中字符0為48 所以要減去48
}
printf("轉(zhuǎn)化為十進(jìn)制數(shù)為%d\n", sum);
return 0;
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)頁標(biāo)題:C語言實(shí)現(xiàn)棧結(jié)構(gòu)-創(chuàng)新互聯(lián)
文章分享:http://jinyejixie.com/article34/ccsepe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站營銷、軟件開發(fā)、企業(yè)建站、做網(wǎng)站、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容