将记录打印在另一个下面

时间:2015-10-18 05:55:12

标签: c

我想打印这样的数据:

String[][] fruits = {{"orange", "pear", "banana", "pinapple" "grape"},
                 {"apple", "kiwi", "strawberry", "plum"}};
int length = 0;
for(int i=0;i<fruits.length;i++){
  length += fruits[i].length;
 }
System.out.println(length);

例如

FirstName FamilyName (33 characters), Tel: xxxxxxxxxx, Age: xx, Level: xx, Salary: xxxxx.xx

面临的主要问题是如何将Tel:one放在另一个之前。另外,如何格式化浮动工资,使得小数位于另一个之下。

目前我的输出看起来像这样:

John Dilbert Tel: 6135202600, Age: 58, Level: 13, Salary:    450.34
Jane Smith   Tel: 6135202600, Age: 47, Level: 10, Salary: 133450.00 

代码:

John Dilbert Tel: 6135202600, Age: 58, Level: 13, Salary: 450.34
Jane Smith Tel: 6135202600, Age: 47, Level: 10, Salary: 133450.00 

主要:

void printData(struct person currentPerson){
    printf("%s %-33sTel: %10s",currentPerson.firstName,currentPerson.familyName,currentPerson.telephone);

}
void printStudent(struct Student currentStudent){
    printf("GPA:%3d, Courses:%3d, Tuition: %5f\n",currentStudent.GPA,currentStudent.coursesCount,currentStudent.tuitionFees);
} 

但结果仍然是错误的。为什么?请帮忙

1 个答案:

答案 0 :(得分:0)

如果要控制数据的宽度,则可以使用printf格式字符串中的width子说明符。例如。 :

printf("%5d", 2);