我需要對齊我的號碼。我遇到的問題涉及長度爲一位和三位的浮點數。這裏是我的輸出:如何對齊printf()中的數字?
ID G1 G2 G3 Average
000000065 92.000000 93.000000 86.000000 90.333336
000000101 85.500000 75.500000 90.000000 83.666664
000002202 100.000000 92.000000 87.250000 93.083336
000022227 96.000000 84.000000 75.500000 85.166664
000031303 99.000000 87.000000 62.000000 82.666664
101010010 0.000000 81.000000 91.000000 57.333332
424242428 77.000000 77.000000 87.500000 80.500000
700666124 88.000000 65.000000 89.000000 80.666664
812345676 95.000000 76.000000 87.000000 86.000000
999999999 99.000000 99.500000 100.000000 99.500000
這是我的打印功能:
//function that prints out contents of tree
int print_tree (NodePtr treePtr){
// if statement begins
if (treePtr != NULL){
print_tree(treePtr->left);
printf("%.9d %f %f %f %f\n\n", treePtr->studentID, treePtr->g1, treePtr->g2, treePtr->g3, treePtr->average);
print_tree(treePtr->right);
}//if statement ends
return 0;//indicates successful termination
}//end print_tree
正如你可以看到一些數字不正確一字排開由於一個和三位長的花車(我需要打印花車)。
0.9是整數。它的工作原理是因爲所有內容的ID均勻分佈,但不是G1,G2,G3和平均值 – Michformer
一旦你清理了數字間隔,你可能需要返回幷包含標題標籤的格式說明符,以便將它們對齊或在數字上方左對齊。 @ryyker在答案中指出的教程應該涵蓋它。 – lurker