【发布时间】:2014-11-28 19:53:59
【问题描述】:
我正在尝试打印这个大 X 图案:
x x
x x
x x
x x
x
x x
x x
x x
x x
我无法弄清楚实现它的算法。我刚刚开始 C 编程并陷入困境。
到目前为止我所拥有的是
#include <stdio.h>
int main()
{
int j,i;
char ch[] = "$";
for(int j = 5; j >= 0 ; --j)
{
for(i = 5; i>=0; --i)
{
if(j%2 == 1)
{
printf("%s",ch);
}
}
printf("\n");
}
return 0;
}
我也发现了模式,
0 5 0
1 3 1
2 1 2
3 0 3
2 1 2
1 3 1
0 5 0
边缘的数字是应该出现 * 的位置。中间的数字是应该出现空格的地方。我错过了什么?
【问题讨论】:
-
编译所有警告和调试信息(例如
gcc -Wall -Wextra -g)。然后,学习使用调试器(例如gdb)。这是一项必不可少的技能! -
你忘了画空格,例如使用
putchar(' '); -
是的,我首先试图让算法正确,但我无法弄清楚。我知道这与 for 循环有关..
-
如果你有一些笛卡尔几何知识,你可以使用它。
-
我只是一个初学者,:)