C语言—打印菱形,过程分析非常详细

如何打印菱形,过程分析非常详细

思路: 要打印这个图形,我们应该一行行得去打印,每一行先打印空格,再打印星号,比如,第一行我们应该先打印3个空格再打印1个星号。 我们可以发现前四行空格数在减少,后三行空格数在增加,所以将这个图形分为两部分,前面四行为第一部分,后三行为第二部分。 我们可以发现,每一行都在重复两个动作,打印空格和打印星号,所以我们很容易想到用循环。 然后我们通过找每一行的空格数与这行数的关系 和 每一行星号与行数的关系来构造循环,这道题比较适合用for循环。

具体分析:

这样就把i,j,k关系弄清楚了,接下来就是写代码,具体代码如下:

//打印菱形

#include

int main()

{

int i = 0;//i控制第几行

int j = 0;//j控制每一行空格的循环次数

int k = 0;//k控制每一行*的循环次数

for (i = 1; i <= 4; i++)//将图形分为两部分,前四行(第一部分)

{

for (j = 1; j <= 4 - i; j++)//打印第i行的空格数

{

printf(" ");

}

for (k = 1; k <= 2 * i - 1; k++)//紧接着打印第i行的*数,注意要带乘号*

{

printf("*");

}

printf("\n");//第i行完成,要换行\n,进入下一行的循环

}

for (i = 1; i <= 3; i++)//后三行(第二部分),和前四行同样的道理

{

for (j = 1; j <= i; j++)

{

printf(" ");

}

for (k = 1; k <= 7 - 2 * i; k++)

{

printf("*");

}

printf("\n");//打印完一行后记得换行\n

}

return 0;

}

运行结果如下:

Copyright © 2088 世界杯预选赛中国_1994年世界杯冠军是谁 - nywk120.com All Rights Reserved.
友情链接
Top