用C语言编程输出*排成的菱形是怎么编?

*************... *
***
*****
***
*
展开
 我来答
wan5kang
2008-09-26 · TA获得超过184个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:126万
展开全部
main(){
int i,j,k;
for(i=0;i<=2;i++){
for(j=0;j<2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=1;i++){
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=2-2*i;k++)
printf("*");
printf("\n");
}

getch();
}

打印效果是 *
***
*****
***
*
我来给你解释!
把图案分为上下两部分来看.上部分为3行,下部分为2行。
程序中的定义是
for(i=0;i<=2;i++) 这个是外层循环,控制行数的.
再看规律,当再第一行的时候,也就是i=0的时候
接着往下看内层循环.for(j=0;j<2-i;j++)
当i=0时候,i传进来,也就是for(j=0;j<2;j++)
j能取到2次值0和1,取0时候打印一个空格,取1的时候再打一个空格
此时,i=0的时候打印空格的FOR循环结束,它打印出2个空格.接着进入打印*号的循环.for(k=0;k<=2*i;k++)
i=0时候 k就能取到一次值0所以打印一个*接着上面2个空格的后面
最后回车printf("\n");进入i=1也就是进入上部分第二层的循环.
......
下半部分和上面的意思一样.自己仔细想明白吧.
我觉得我已经说道极限了..
丹甘籍悦人
2020-02-11 · TA获得超过3661个赞
知道小有建树答主
回答量:3032
采纳率:28%
帮助的人:187万
展开全部
#include"stdio.h"
int
main()
{
for(int
i=-3;i<=3;i++){
for(int
j=0;j<(i>0?i:-i);j++)
printf("
");
for(j=0;j<(i>0?-2*i+7:2*i+7);j++)
printf("*");
printf("\n");
}
return
0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
snjwzswy
2008-09-24 · TA获得超过2422个赞
知道答主
回答量:141
采纳率:0%
帮助的人:0
展开全部
*
* *
* *
* *
* *
* *
*

嘿嘿

我才初一哦!!~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友86d15a4c8
推荐于2016-11-17 · TA获得超过7190个赞
知道大有可为答主
回答量:1769
采纳率:0%
帮助的人:746万
展开全部
#include"stdio.h"
int main() {
for(int i=-3;i<=3;i++){
for(int j=0;j<(i>0?i:-i);j++)
printf(" ");
for(j=0;j<(i>0?-2*i+7:2*i+7);j++)
printf("*");
printf("\n");
}
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
s7t3
2008-09-24 · TA获得超过373个赞
知道小有建树答主
回答量:318
采纳率:0%
帮助的人:0
展开全部
main()
{
int i,j;
for(i=1;i<=3;i++)
{
for(j=0;j<=3-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");

}
for(i=4;i<=5;i++)
{ for(j=0;j<=i-3;j++)
printf(" ");
for(j=1;j<=2*(5-i)+1;j++)
printf("*");
printf("\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式