我想扫描值并在数字前添加 0,直到它长 4 位。
例子:
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
}