棧之進製轉換SDUT1252

2021-08-19 03:51:53 字數 1463 閱讀 7581

進製轉換

time limit: 1000 ms memory limit: 65536 kib

submit statistic discuss

problem description

輸入乙個十進位制數n,將它轉換成r進製數輸出。

input

輸入資料報含多個測試例項,每個測試例項包含兩個整數n(32位整數)和r(2<=r<=16, r != 10)。

output

為每個測試例項輸出轉換後的數,每個輸出佔一行。如果r大於10,則對應的數字規則參考16進製制(比如,10用a表示,等等)。

sample input

7 2

23 12

-4 3

sample output

111

1b -11

hint

source

hdoj

#include

#include

typedef struct

sqstack;

int sempty(sqstack*s)

else

return0;}

void push(sqstack*s,char key)

intpop(sqstack*s)

return e1;

}void change(long long int num,long long int r)

if(num<0)

sqstack*q;

q=(sqstack*)malloc(sizeof(sqstack));

q->top=-1;

while(num!=0)

if(flag==1)

while(!sempty(q))

else

if(e2==11)

else

if(e2==12)

else

if(e2==13)

else

if(e2==14)

else

if(e2==15)

else

printf("%d",e2);

}else

printf("%d",e2);

}printf("\n");

}int main()

return

0;}

think:對於進製轉換來說,如果是負值,那就先轉換成正值進行入棧後,出棧的時候先輸出負值,在出棧;當出棧的時候要對比10大的數單獨進行操作,其他的正常輸出;

note:

void change(long

long

int num,long

long

int r)

這裡我們想要的是0這種情況,就不要執行下面的部分了,return 在void 函式中還有結束函式的作用

SDUT1252進製轉換 棧

time limit 1000ms memory limit 65536k 輸入乙個十進位制數n,將它轉換成r進製數輸出。輸入資料報含多個測試例項,每個測試例項包含兩個整數n 32位整數 和r 2 r 16,r 10 為每個測試例項輸出轉換後的數,每個輸出佔一行。如果r大於10,則對應的數字規則參考...

SDUT 1252 進製轉換

time limit 1000ms memory limit 65536kb submit statistic discuss problem description 輸入乙個十進位制數n,將它轉換成r進製數輸出。input 輸入資料報含多個測試例項,每個測試例項包含兩個整數n 32位整數 和r 2...

SDUT 1252 進製轉換

進製轉換 time limit 1000ms memory limit 65536kb submit statistic discuss problem description 輸入乙個十進位制數n,將它轉換成r進製數輸出。input 輸入資料報含多個測試例項,每個測試例項包含兩個整數n 32位整數...