首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >怎样才能像这样直下一栏呢?

怎样才能像这样直下一栏呢?
EN

Stack Overflow用户
提问于 2021-09-10 05:25:51
回答 1查看 37关注 0票数 1

我试着做一个数字拼图,我想要一个列来设置如下

代码语言:javascript
复制
\ ----- ----- ----- -----
|  10 |  1  |  6  |  7  |
\ ----- ----- ----- -----
|  4  |  14 |  3  |  9  |
\ ----- ----- ----- -----
|  2  |  11 |  5  |     |
\ ----- ----- ----- -----
|  15 |  8  |  12 |  13 |
\ ----- ----- ----- -----

我试图通过使用以下代码来做到这一点

代码语言:javascript
复制
    printf("\\ ----- ----- ----- -----\n");
    printf("|  %2.1d |  %2.1d |  %2.1d |  %2.1d |\n",a[0][0],a[0][1],a[0][2],a[0][3]);
    printf("\\ ----- ----- ----- -----\n");
    printf("|  %2.1d |  %2.1d |  %2.1d |  %2.1d |\n",a[1][0],a[1][1],a[1][2],a[1][3]);
    printf("\\ ----- ----- ----- -----\n");
    printf("|  %2.1d |  %2.1d |  %2.1d |  %2.1d |\n",a[2][0],a[2][1],a[2][2],a[2][3]);
    printf("\\ ----- ----- ----- -----\n");
    printf("|  %2.1d |  %2.1d |  %2.1d |  %2.1d |\n",a[3][0],a[3][1],a[3][2],a[3][3]);
    printf("\\ ----- ----- ----- -----");

结果是这样的

代码语言:javascript
复制
\ ----- ----- ----- -----
|   6 |  14 |  13 |  10 |
\ ----- ----- ----- -----
|   3 |   0 |   4 |   9 |
\ ----- ----- ----- -----
|   2 |   5 |  11 |   7 |
\ ----- ----- ----- -----
|   8 |  15 |  12 |   1 |
\ ----- ----- ----- -----

我怎么才能修好这个。它似乎只适用于10-15。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-10 06:06:29

来自关于*printf的文档

一般而言:

。后面跟着整数或*,或者两者都不指定转换的精度。

对于%d

精度指定要显示的最小位数。默认精度为1。如果转换值和精度都为​0​,则转换结果不包含字符。

要使用的说明符要么是"%-2.0d",要么是%2.0d,这分别取决于您想要的数字是左对还是右对。

代码语言:javascript
复制
#include <stdio.h>

int main(void) {
    printf("Left-justified:\n");
    printf("| %-2.0d |\n", 6);
    printf("| %-2.0d |\n", 11);
    printf("| %-2.0d |\n", 0);

    printf("Right-justified:\n");
    printf("| %2.0d |\n", 3);
    printf("| %2.0d |\n", 14);
    printf("| %2.0d |\n", 0);
}

输出:

代码语言:javascript
复制
Left-justified:
| 6  |
| 11 |
|    |
Right-justified:
|  3 |
| 14 |
|    |

关于精确说明符的说明:

如果既不使用数字也不使用*,则精度取为零。

这意味着"%-2.d"的形式也会起作用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69127617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档