0基础入门C语言for循环应用,绝对的0基础
小甲鱼课程,循环控制结构程序结果如下:
*
**
***
****
*****
******
*******
********
*********
**********
***********
************
***********
**********
*********
********
*******
******
*****
****
***
**
*
代码如下:
int i,j,q=20;
for (i = 1; i < q; i++)
{
for (j=1;j<i;j++)
{
putchar('*');
}
printf("\n");
}
loop:for (i = 1; i < q; i++)
{
putchar('*');
}
if (i == q)
{
printf("\n");
q -= 1;
goto loop;
}
}
请高手指点优化
本帖最后由 rencaixiaomeng 于 2018-12-6 23:20 编辑
#include <stdio.h>
int main(void)
{
int a, i, j, p = 10, q = 20;
for (i = 0; i <= q; i++)
{
a = i < p ? i : q - i;
for (j = 0;j <= a;j++)
{
putchar('*');
}
printf("\n");
}
return 0;
} 之前看到的视频说(别的网站),最好不要用goto,指来指去代码可读性会降低 本帖最后由 csilovelxl 于 2018-12-7 17:43 编辑
#include <stdio.h>
#include <math.h>
int main(void)
{
inti, j, p = 11, q = 21;
//打印21行
for (i = 1; i <= q; i++)
{
//最大输出11个*,设p=11,根据i的增长,通过p-i的绝对值判断需要输出多少个*,我感觉这有点像补码
for (j=p-abs(p-i);j>0;j--)
{
putchar('*');
}
printf("\n");
}
return 0;
}
//代码是我看二楼修改的
页:
[1]