跳至正文
View Categories

< 1 min read

主要内容 #

1. 左对齐 #

大家平时注意到了吗,一般情况下,我们的输出,默认都是左对齐的。
这符合我们的书写习惯。

但是,有时候会遇到一些问题。比如:我们要输出一个表格中的数据。

请试试看,表格一行的数据请用 ‘|’ 分隔。

示例程序 1 :

#include < cstdio >
int main()
{
    printf("Name|Score\n");        // \n 表示回车换行
    printf("Alexander Zhang|90\n");
    printf("Jim Sun|150\n");
    return 0;
}

这个例子的输出如下:

输出的内容比较乱,不直观。

所以,printf 函数还提供了指定格式的输出方式。
示例程序 2 :

#include < cstdio >
int main()
{
    printf("%-20s | %-20s\n", "Name", "Score");
    printf("%-20s | %-20s\n", "Alexander Zhang", "90");
    printf("%-20s | %-20s\n", "Jim Sun", "150");

    // %-20s 中,20表示位数,s表示字符串,负号表示左对齐(不可以省略)

    return 0;
}

这个例子的输出如下:

左对齐的小结如下:

2. 右对齐 #

什么时候会用到呢?请回想一下你身边的例子。

电梯的楼层显示,是右对齐的。
手表的数字时间显示,特别是小时部分。一般是前面补零式的右对齐。
篮球比赛的记分牌。
阿拉伯语,等

将上述的例子,改写成右对齐的方式:

#include < cstdio >
int main()
{
    printf("%20s | %20s\n", "Name", "Score");
    printf("%20s | %20s\n", "Alexander Zhang", "90");
    printf("%20s | %20s\n", "Jim Sun", "150");

    // %20s 中,20表示位数,s表示字符串,表示右对齐(有负号,就是左对齐)

    return 0;
}

这个例子的输出如下:

左对齐的小结如下:

3. 小结 #

习题 #

课后练习