-2
8 | *
7 | *
6 | *
5 | *
4 | * *
3 |* * * * * *
2 |* * * * *** ** * *
1 |* * *** ****** **** * *
+---------------------------
   012345678901234567890123456
             11111111112222222

最下位桁から最上位桁まで (x 軸に表示されている数字のように) どのように数値を出力しますか? ありがとうございました

4

2 に答える 2

2

数値を一時的に入れます。

次に印刷する桁は temp % 10 です

10 を温度に割ります。

temp が 0 でない場合は、前の 2 つの手順を繰り返します。

于 2009-12-23T04:53:21.600 に答える
0

LSD から MSD への印刷は、実際にはその逆よりも簡単です。その理由は、数値の桁を抽出する剰余/除算手法では、最上位の桁の前に最下位の桁が生成されるためです。

if (i == 0)
    output_digit(0)
else
    while (i != 0)
        output_digit(i % base)
        i = i / base

これにより、必要な順序で数字が出力されます。基数が 10 の場合、数値 123 は最初に 3 を出力し、次に 2 を出力し、最後に 1 を出力します。

于 2009-12-23T07:49:52.610 に答える