评论
# re: 两个for循环打印菱形【C语言】
2013-05-07 16:35
溪流
“平常会以for循环打印输出,仔细想想,用两个for完全可以实现”看不明白,平常会用几个for循环的意思? 回复 更多评论
# re: 两个for循环打印菱形【C语言】
2013-05-07 22:48
Jcilz
呵呵,上学时刚学C语言做过,老师给的作业。
几个循环我不记得了,
我记得当时刚学编程,入门级别,经过硬着头皮分析最后得出的是两个直线方程,然后用代码跑这两个方程输出东西,接着就对编程有了一些新的感悟。 回复 更多评论
# re: 两个for循环打印菱形【C语言】
2013-05-07 23:38
Jcilz
// 输入打印高度
void printStar(int h)
{
int halfH = h/2;
for (int line = 0; line < h; ++line)
{
int spaceCount = -1 * line + halfH;
if (line > halfH)
spaceCount = 1 * line - halfH;
for (int i = 0; i < spaceCount; ++i)
{
printf(" ");
}
int starCount = 2 * line - 1;
if (line > halfH)
starCount = -2 * line + h*2 - 1;
for (int i = 0; i < starCount; i++)
{
printf("*");
}
printf("\n");
}
}
哈哈,怀旧一下,当时的做法。 回复 更多评论
# re: 两个for循环打印菱形【C语言】
2013-05-07 23:46
nbuxrr
单个while循环似乎也可以搞定。 回复 更多评论
# re: 两个for循环打印菱形【C语言】
2013-05-08 01:59
bbq
一个for 循环也可以搞定:
void printStar(int h) {
for (int i = 0; i
int col=i%(h*2-1)
int row=i/(h*2-1)
if 判断条件 then print *
else print ' '
} 回复 更多评论