ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-01-29 16:59:06  阅读:128  来源: 互联网

标签:int 打印 一行 C语言 空格 菱形 printf 循环


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

在这里插入图片描述

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

具体分析:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这样就把i,j,k关系弄清楚了,接下来就是写代码,具体代码如下:

//打印菱形
#include<stdio.h>
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;
}

运行结果如下:
在这里插入图片描述

标签:int,打印,一行,C语言,空格,菱形,printf,循环
来源: https://blog.csdn.net/weixin_62158278/article/details/122743887

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有