进制 之间的转换:如 将10进制转换为2进制,10进制数n和要转换的进制d通过键盘输入。
进制 之间的转换:如 将10进制转换为2进制,10进制数n和要转换的进制d通过键盘输入。 利用栈和队列
[解决办法]
#include <iostream>using namespace std;static char* itoa(long n, int base){ register char *p; register int minus; static char buf[36]; p = &buf[36]; *--p = '\0'; if (n < 0) { minus = 1; n = -n; } else minus = 0; if (n == 0) *--p = '0'; else { while (n > 0) { *--p = "0123456789abcdef"[n % base]; n /= base; } } if (minus) *--p = '-'; return p;}int main(){ cout << itoa(21, 2) << endl; cout << itoa(21, 8) << endl; cout << itoa(21, 16) << endl; return 0;}
[解决办法]
void conversion (int N, int B)
{
int i;
SeqStack *S;
Initial (&S);
while (N)
{
Push (S, N % B);
N = N / B;
}
while (!IsEmpty (S))
{
i = Pop (S);
printf ("%d", i);
}
}剩下的自己补全吧。。。。。