#include
#include "stacksADT.h"
int main(void)
{
unsiqned int rum;
int*digit;
STACK*stack;
stack=createstack();
printf("ENTER AN INTERGER");
scanf("%d",&num);
while(num>0)
{
digit=(int*)malloc(sizeof(int));
*digit=num%16;
num=num/16;
}
printf("THE BINARY NUMBER IS : ");
WHILE(!emptyStack(stack))
{
digit=(int*)popStack(stack);
printf("%d",*digit);
}
printf("\\n");
destroyStack(stack);
return 0;
}
--------------------------------------------------------
不知道哪邊錯了 是照講義2進位推的
幫幫我~我要打16進位
另外我還要在這個程式裡加打
餘數 10=A 11=B 12=C 13=D 14=E 15=F
麻煩各位了!!!
2006-11-07 20:07:11 · 1 個解答 · 發問者 Vivian 1 in 電腦與網際網路 ➔ 程式設計
要用堆疊喔
2006-11-07 20:46:03 · update #1
我現在有很多個的語法
不好貼上來 不知道怎樣貼
而也不能聯絡你
所以就是個大問題
2006-11-08 11:53:04 · update #2
不然你去下載
http://mi.chu.edu.tw/~leecc/B10205/StackADT.rar
2006-11-08 11:57:09 · update #3
0. 您沒附上 stacksADT.h,那應該是您老師寫的東東。1. WHILE 要 小寫。2. unsigned int num3. digit=(int*)malloc(sizeof(int)); 這句應該是要用 stack 的東東,不是用 malloc!如: digit = pushStack(stack); // 但要有 STACK 的內容才知道要怎麼改4. 宣告一個字串:char HEX[] = "0123456789ABCDEF"; 就可以解決您的餘數...的問題。請補上 stacksADT.h 不然沒辦法再幫您。
2006-11-08 00:28:24 · answer #1 · answered by ? 7 · 0⤊ 0⤋