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是决定奇数开始吧。但想了半天没想通。请老师细细解
展开
 我来答
lilei_ll_ii
2008-09-12 · TA获得超过446个赞
知道小有建树答主
回答量:348
采纳率:100%
帮助的人:336万
展开全部
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");这个知道啥意思了吧,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hero545
2008-09-12 · TA获得超过245个赞
知道小有建树答主
回答量:502
采纳率:0%
帮助的人:0
展开全部
I=0是用来控制行数的,表示有四行,第二FOR用来控制输出空格的,第一行输出二个,第二行输出一个.后面就不输出了.第三个FOR是用来控制输*号的,从k=0开始到2*i,表示第一行输一个*,第二行输出三个,第三行输出五个,第四行输七个.
你这个程序不能实现你上面的图所表示的图形.只能输出四行.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小樱桃呀mI
2008-09-12 · TA获得超过109个赞
知道答主
回答量:98
采纳率:0%
帮助的人:91.6万
展开全部
i 以0开头是习惯问题,i 只是来计数的,如果你的表达式控制的好,也可以随便定义i 是几。i=0 i<=3是 i=0、i=1、i=2、i=3这不就有4行了吗。
还有你的运行结果不是这样的。如果按你的程序来应该是这样的
*
***
*****
*******
还有,你程序少了个“}”在最后,嘿嘿。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pk246
2008-09-12 · TA获得超过400个赞
知道答主
回答量:402
采纳率:0%
帮助的人:0
展开全部
for(i=0;i<=3;i++)
第一次循环的时候i为0 循环后i就为1啦 依次类推
第一次 0
第二次 1
第三次 2
第四次 3 //此时循环后i为4 4<=3 不成立 循环结束
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
3293323
2008-09-12 · TA获得超过234个赞
知道答主
回答量:454
采纳率:0%
帮助的人:0
展开全部
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");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式