
C语言请教 20
题目:打印出如下图案(菱形)***************************main(){inti,j,k;for(i=0;i<=3;i++){for(j=0;j<...
题目:打印出如下图案(菱形)
*
***
******
********
******
***
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
} ..............
我想问一下 为什么把 i的初始值 定了 0。定为0 是什么意思。为什么i=0 i<=3 是表示的4行, 可能选0是决定奇数开始吧。但想了半天没想通。请老师细细解 展开
*
***
******
********
******
***
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
} ..............
我想问一下 为什么把 i的初始值 定了 0。定为0 是什么意思。为什么i=0 i<=3 是表示的4行, 可能选0是决定奇数开始吧。但想了半天没想通。请老师细细解 展开
展开全部
I的原意是控制行数的,你也可以写成I=123;I<=126;I++,I=123循环一次=124循环一次=125循环依次=126循环一次,总共循环4次,
这本来是可以随便写的,
但是 你下边的FOR循环里边用到了I,所以I的初值就不能瞎赋了;
把I初值设为0是为了下边与J<=2-I与K<=2*I那配合,限制输出的空格与*的多少;
注意:内循环是每次一行之内输出多少个空格和多少个*的,为什么I能代表行数呢?
就是因为在每次内循环结束的时候有个printf("\n");这个知道啥意思了吧,
这本来是可以随便写的,
但是 你下边的FOR循环里边用到了I,所以I的初值就不能瞎赋了;
把I初值设为0是为了下边与J<=2-I与K<=2*I那配合,限制输出的空格与*的多少;
注意:内循环是每次一行之内输出多少个空格和多少个*的,为什么I能代表行数呢?
就是因为在每次内循环结束的时候有个printf("\n");这个知道啥意思了吧,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
I=0是用来控制行数的,表示有四行,第二FOR用来控制输出空格的,第一行输出二个,第二行输出一个.后面就不输出了.第三个FOR是用来控制输*号的,从k=0开始到2*i,表示第一行输一个*,第二行输出三个,第三行输出五个,第四行输七个.
你这个程序不能实现你上面的图所表示的图形.只能输出四行.
你这个程序不能实现你上面的图所表示的图形.只能输出四行.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i 以0开头是习惯问题,i 只是来计数的,如果你的表达式控制的好,也可以随便定义i 是几。i=0 i<=3是 i=0、i=1、i=2、i=3这不就有4行了吗。
还有你的运行结果不是这样的。如果按你的程序来应该是这样的
*
***
*****
*******
还有,你程序少了个“}”在最后,嘿嘿。
还有你的运行结果不是这样的。如果按你的程序来应该是这样的
*
***
*****
*******
还有,你程序少了个“}”在最后,嘿嘿。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=0;i<=3;i++)
第一次循环的时候i为0 循环后i就为1啦 依次类推
第一次 0
第二次 1
第三次 2
第四次 3 //此时循环后i为4 4<=3 不成立 循环结束
第一次循环的时候i为0 循环后i就为1啦 依次类推
第一次 0
第二次 1
第三次 2
第四次 3 //此时循环后i为4 4<=3 不成立 循环结束
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
{
printf(" ");
}
for(k=0;k<=2*i;k++)
{
printf("*");
}
printf("\n");
}
for(i=3;i>=0;i--)
{
for(j=0;j<=3-i;j++)
{
printf(" ");
}
for(k=0;k<=2*i-2;k++)
{
printf("*");
}
printf("\n");
}
}
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
{
printf(" ");
}
for(k=0;k<=2*i;k++)
{
printf("*");
}
printf("\n");
}
for(i=3;i>=0;i--)
{
for(j=0;j<=3-i;j++)
{
printf(" ");
}
for(k=0;k<=2*i-2;k++)
{
printf("*");
}
printf("\n");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询