You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为矩阵(matrix)设置输出间距?附打印代码求助

如何让矩阵输出更美观?

嗨,我来帮你搞定这个矩阵输出的美观问题~你的代码现在把数字都挤在一起了,确实看着不太舒服,只需要调整printf的格式控制符就能轻松解决,给你几个实用的方案:

方案1:直接添加空格(简单清爽)

如果你的矩阵元素都是0-9的单个数字,直接在输出格式里加个空格就行,修改后的代码如下:

void print_graph(void) {
    int i, j;
    for (i = 0; i < 20; i++) {
        for (j = 0; j < 20; j++) {
            printf("%d ", G[i][j]); // 每个数字后面加一个空格
        }
        printf("\n");
    }
}

这样每个元素之间都有一个空格,行列瞬间就清晰了。

方案2:固定宽度输出(对齐更严谨)

如果你的矩阵里可能出现两位数字(比如大于9的数),上面的方法会导致列对齐歪掉,这时候用固定宽度格式符就很靠谱。比如用%2d让每个元素占2个字符宽度,数字默认右对齐,即使是一位数,前面也会自动补空格保证对齐:

void print_graph(void) {
    int i, j;
    for (i = 0; i < 20; i++) {
        for (j = 0; j < 20; j++) {
            printf("%2d ", G[i][j]); // 固定2位宽度,加空格分隔
        }
        printf("\n");
    }
}

要是你喜欢数字左对齐,把格式符改成%-2d就行,空格会补在数字右边,同样整齐。

方案3:用制表符分隔(大矩阵友好)

如果你的20x20矩阵看着还是挤,可以试试用制表符\t来分隔元素,间距更大,阅读起来更轻松:

void print_graph(void) {
    int i, j;
    for (i = 0; i < 20; i++) {
        for (j = 0; j < 20; j++) {
            printf("%d\t", G[i][j]); // 制表符分隔每个元素
        }
        printf("\n");
    }
}

制表符的宽度一般是8个字符,不同终端可能略有差异,但整体对齐效果还是很稳定的。

你可以根据自己的矩阵元素情况选最合适的方法,试一下就能看到效果啦~

内容的提问来源于stack exchange,提问作者mugglepot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:58:04