第一个图形可以拆分为这两个部分,照葫芦画瓢。根据前面代码 改下数据就可以运行出来了! 非常简单。
1 { 2 for(j=i;j<5;j++) 3 printf(" "); 4 for(k=1;k<=(2*i-1);k++) 5 printf("*"); 6 printf("\n"); 7 8 } 9 10 for(i=1;i<=4;i++)11 {12 for(j=1;j<=i;j++)13 printf(" ");14 for(k=i;k<=(n-i+1);k++)15 printf("*");16 printf("\n"); 17 18 }19 20 21 22 }
最后一个图形可以分成以下三部分
第一部分和前面一样 代码如下
int i,j,k; for(i=1;i<=5;i++) { for(j=i;j<5;j++) printf(" "); for(k=1;k<=(2*i-1);k++) printf(" *"); printf("\n"); } }
第二部分我的想法就有点怪了 代码是这样的 没有用到for语句
printf(" * * * * * * * * *"); printf("\n"); printf(" * * * * * * * * *"); printf("\n");
嘿嘿 真好。我可真是个机灵鬼。
最后一部分 我的想法也奇怪啦。哈哈哈
请看代码!
for(i=1;i<=4;i++) { for(j=i;j<=4;j++) printf(" *"); for(k=1;k<=(2*i-1);k++) printf(" "); for(j=i;j<=4;j++) printf(" *"); printf("\n"); }
这段代码也是由第一部分的正等腰三角形演变过来的
我是这样想的:开始是直接将 printf(" ");和 printf(" *");直接调换 嘿嘿 想法太简单了 结果运行结果是这样的
少了右边一部分 for(j=i;j<=4;j++) printf(" *"); 加上这部分就运行出来了呀
请看