1樓:
1)您的程式有語法問題,也有邏輯問題。
2)最嚴重的邏輯錯誤是通過出棧傳回的數字是單個的,主程式需要的10進製轉為其他進製後連續的數字。
3)程式修改如下,也進行了優化,測試通過。
#include
#include
#include
#include "string.h"
#define stack_init_size 100
#define stackincrement 10
typedef structsqstack;
int initstack(sqstack *s)
int conversion(sqstack *s,int n, char a, int syst);
int push(sqstack *s,int e);
int pop(sqstack *s,int *e);
void main()
;int index=0;
printf("請輸入十進位制數:");
scanf("%d",&n);
conversion(&s,n,str,2);
printf("輸出的二進位制數是:%s\n",str);
memset(str,0,sizeof(char)*20);//陣列str清零
conversion(&s,n,str,8);
printf("輸出的八進位制數是:%s\n",str);
memset(str,0,sizeof(char)*20);
conversion(&s,n,str,16);
printf("輸出的十六進製制是:%s\n",str);
}int conversion(sqstack *s,int n, char a, int syst)
int i=0;
int e;
while( pop(s,&e) != 0 )
}i++;
}return i;
}int push(sqstack *s,int e)
*(s->top) = e;
(s->top)++;
return 1;
}int pop(sqstack *s,int *e)
2樓:
一些基本的錯誤可以自行解決的 放在ide上直接就能改了
求高手改下劇本。急急
第一幕旁白 在偏遠的農村,李明是村里第乙個考上大學的人。村裡人都為他驕傲。可是來到大學後,愛面子的他不敢讓同學知道他家裡的情況。人物 李明 村長 李老漢 嘟嘟嘟嘟 一陣 鈴聲後 村長 喂,你找誰?李明 村長,我是李明,可不可以喊我爹接個 啊。村長 李老漢,李老漢,城裡你兒子打 回來了。李老漢 兒啊,...
高手幫我看看這個程式怎麼改
1全部厄 這個不太好實現,因為在控制台中,回車才能代表輸入結束。1 1後面的回車是必須的,如果lz想要實現想要的效果,就要先清屏,之後再重新輸出。我覺得如果只是為了美觀的話,下面再輸出一行1 1 2就不錯了。按lz要求,加入清屏後,試試效果。include include using namespa...
幫我修改一下下面這個c語言程式各位 大大
include stdio.h include include include void copy void stick void sum void delete delete函式未實現,我不能幫你實現了,不知道你想做啥。void stat int menu select void main int...