1.ベース変換
1.原則
なぜなら、除N取余
この方法でN項変換を実現し、剰余の結果を逆の順序で出力するからです。逆の順序なので、そうです后进先出
、それがスタックのモデルです。したがって、16進変換を完了するには、各剰余の結果をスタックに入れ、最後にすべてを出力するだけで済みます。
次に、10转N
16進プログラム(0 <N <= 36)を与えます。
2.コードの実装
コードのこの部分は比較的単純なので、配列を直接使用してスタックをシミュレートします。
#include <stdio.h>
int main()
{
int number;
int stack[32];
int top = 0;
int N;
scanf("%d %d", &number, &N);
while(number > 0)
{
++top;
stack[top] = number % N;
number /= N;
}
while(top > 0)
{
if (stack[top] > 9)
{
printf("%c", stack[top]-10+'A');
}
else
{
printf("%c", stack[top]+'0');
}
--top;
}
printf("(%d)\n", N);
return 0;
}
2.発現評価
ああ、これは、本がキューのアプリケーションを書いていないので、キューと一緒に話したいと思います。それで、私はこの質問をキューに入れてスタックし、一緒に話し合います。