gpt4 book ai didi

c - 如何在 C 中创建数字网格

转载 作者:太空宇宙 更新时间:2023-11-04 04:21:58 25 4
gpt4 key购买 nike

我想创建一个从 1 到 30 的数字网格。我可以通过将其替换为“X”来决定要划掉哪个数字。但我什至无法打印出 char[][] 中的网格。

1 2 3 4 5 6

7 8 9 X 11 12

13 14 15 16 17 18

19 20 21 22 23 24

25 26 27 28 X 30

程序给了我

123456
678911
111111
111122
222222

我该如何解决这个问题?谢谢!

int i, j, x;
char plan[6][5];

for (i=0; i<5; i++)
for (j=0; j<6; j++)
{
x = i*5+j+1;
sprintf(&plan[i][j], "%d", x);
}



for (i=0; i<5; i++)
{
for (j=0; j<6; j++)
printf("%c", plan[i][j]);
printf("\n") ;
}

最佳答案

sprintf(char *str, const char *format, ...)..第一个参数应该是一个指针,但是你传递的是一个字符,这会给你错误:来自char的无效转换|至 char* .最好你应该使用 &plan[i][j] ..但它只会存储一个数字,为​​了解决这个问题,您可以将网格的每个元素视为一个字符串。(我认为这不是一种合适的方式,但它会产生所需的输出)。

#include <stdio.h>

int main(){
int i, j, x;
char plan[5][6][3];

for (i=0; i<5; i++)
for (j=0; j<6; j++)
{
x = i*6+j+1;
sprintf(plan[i][j], "%d", x);
}



for (i=0; i<5; i++)
{
for (j=0; j<6; j++)
printf("%s ", plan[i][j]);
printf("\n") ;
}
}

关于c - 如何在 C 中创建数字网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45967551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com