値をスキャンして、4 桁になるまで数値の前に 0 を追加したいと考えています。
例:
scanf("%d",&value); //entering '4'..modify the scan somehow with format specifier?
printf("%d",value); //prints 0004
または別の例:
scanf("%d",&value); //entering '12'
printf("%d",value); //prints 0012
または別の例:
scanf("%d",&value); //entering '123'
printf("%d",value); //prints 0123
スキャンされた値がすでに 4 桁の長さの場合は無視します。
printf("%04d",value) のようなフォーマット指定子がありますが、スキャン ステートメントでフォーマットを指定することは私にとって非常に重要です。
入力:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
私の出力
_______1_______
/ \
__2__ __3__
/ \ / \
4 5 6 7
/ \ / \ / \ / \
8 9 10 11 12 13 14 15
すべての桁の長さが 4 である状況をハードコーディングしたため、希望どおりに並べられていません。
望ましい出力:(きれいに整列するため)
_______0001_______
/ \
__0002__ __0003__
/ \ / \
0004 0005 0006 0007
/ \ / \ / \ / \
008 009 0010 0011 0012 0013 0014 0015
現在の呼び名:
int main()
{
int q[100];
int inputValue;
int qSize=1;
while (inputValue != -1) //scanning until -1 is reached
{
cin >> inputValue; //here is each number
//What can I add here to make it 4 digits long? (i.e. adding 0's)
if (inputValue != -1)
insertAndSort (q, qSize, inputValue); //sorts a heap
}
drawSortedTree (q, qSize);//output
}