【C语言】打印菱形详解

打印菱形

写法一:下半部分的循环用i++的方法打印

#include <stdio.h>
int main()
{
	int line = 0;
	int i = 0;
	int j = 0;
	printf("请输入你要打印的行数\n");
	scanf("%d", &line);

	//先打印上部分的三角形
	for (i = 1; i <= line; i++) //打印上半部分的line行
	{  
		//打印每一行的前面的空格
		for (j = 1; j <= line - i; j++)
		{
			printf(" ");
		}
		//打印每一行空格后面的星号
		for (j = 1; j <= 2 * i - 1; j++)
		{
			printf("*");
		}
		printf("\n"); //每一行完成后记得要换行
	}

	//方法一 通过i++方法打印菱形下半部分
	for (i = 1; i <= line - 1; i++)  // 注意下半部分有 line - 1行
	{
		//打印每一行前面的空格
		for (j = 1; j <= i; j++)
		{
			printf(" ");
		}
		////打印每一行空格后面的星号
		for (j = 1; j <= 2 * (line - i) - 1; j++)
		{
			printf("*");
		}
		printf("\n"); //每一行完成要换行
	}
	system("pause");
}

结果:
在这里插入图片描述
写法二:打印下菱形下半部分的循环用i–打印

#include <stdio.h>
int main()
{
	int line = 0;
	int i = 0;
	int j = 0;
	printf("请输入你要打印的行数\n");
	scanf("%d", &line);

	//先打印上部分的三角形
	for (i = 1; i <= line; i++) //打印上半部分的line行
	{  
		//打印每一行的前面的空格
		for (j = 1; j <= line - i; j++)
		{
			printf(" ");
		}
		//打印每一行空格后面的星号
		for (j = 1; j <= 2 * i - 1; j++)
		{
			printf("*");
		}
		printf("\n"); //每一行完成后记得要换行
	}

	//方法二
	for (i = line - 1; i > 0; i--) // 注意下半部分有 line - 1行
	{
		//打印每一行前面的空格
		for (j = 1; j <= line - i; j++) 
		{
			printf(" ");
		}
		//打印每一行空格后面的星号
		for (j = 1; j <= 2 * i - 1; j++)
		{
			printf("*");
		}

		printf("\n"); //每一行完成要换行
	}
	system("pause");
}

结果:
在这里插入图片描述

发布了55 篇原创文章 · 获赞 12 · 访问量 5267

猜你喜欢

转载自blog.csdn.net/weixin_43939593/article/details/103219114
今日推荐