【C语言练习——打印上三角、下三角及其变形】

CSDN话题挑战赛第1期
活动详情地址:活动地址
参赛话题:大学学习月/季度总结
话题描述:对自己大学的月/季度学习的复盘及展望


文章目录

  • 前言
  • 1、打印上三角
    • 1.1 上三角左对齐版
    • 1.2 上三角中间对齐版
    • 1.3 上三角右对齐版
  • 2、打印下三角
    • 2.1 下三角左对齐版
    • 2.2 下三角中间对齐版
    • 2.3 下三角右对齐版
  • 总结

前言

上三角、下三角的概念在线性代数中经常出现,下面是百度百科的定义:

【C语言练习——打印上三角、下三角及其变形】_第1张图片
【C语言练习——打印上三角、下三角及其变形】_第2张图片

具体形式见下图:

【C语言练习——打印上三角、下三角及其变形】_第3张图片

【C语言练习——打印上三角、下三角及其变形】_第4张图片

本文仿照上述定义,练习打印上三角、下三角及其变形:

  • 打印上三角
  • 打印下三角

1、打印上三角

1.1 上三角左对齐版

//打印下三角——左对齐版
int main()
{
	int n = 0;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		int j = 0;
		for (j = 0; j < (2*n - 1 - i* 2 ); j++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

结果见下图:

【C语言练习——打印上三角、下三角及其变形】_第5张图片

1.2 上三角中间对齐版

//打印下三角——中间对齐版
int main()
{
	int n = 0;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		int j = 0;
		for (j = 0; j <= i; j++)
		{
			printf(" ");
		}
		for (j = 0; j < (2*n - 1 - i* 2 ); j++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

结果见下图:

【C语言练习——打印上三角、下三角及其变形】_第6张图片

1.3 上三角右对齐版

int main()
{
	int n = 0;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		int j = 0;
		for (j = 0; j < 2*i; j++)
		{
			printf(" ");
		}
		for (j = 0; j < (2*n - 1 - i* 2 ); j++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

结果见下图:

【C语言练习——打印上三角、下三角及其变形】_第7张图片

2、打印下三角

2.1 下三角左对齐版

打印上三角——左对齐版
int main()
{
	int n = 0;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)//一共n行
	{
		int j = 0;
		//打印*
		for (j = 0; j < 2 * i + 1; j++)//每一行打印几个 *
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

结果见下图:

【C语言练习——打印上三角、下三角及其变形】_第8张图片

2.2 下三角中间对齐版

//打印上三角——中间对齐版
int main()
{
	int n = 0;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)//一共n行
	{
		int j = 0;
		for (j = 0; j < n - 1 - i; j++)//每一行开始打印几个空格
		{
			printf(" ");
		}
		//打印*
		for (j = 0; j < 2 * i + 1; j++)//每一行打印几个 *
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

结果见下图:

【C语言练习——打印上三角、下三角及其变形】_第9张图片

2.3 下三角右对齐版

//打印上三角——右对齐版
int main()
{
	int n = 0;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)//一共n行
	{
	
		int j = 0;
		for (j = 0; j < (2*n - 1)-(2*i+1); j++)//每一行开始打印几个空格
		{
			printf(" ");
		}
		//打印*
		for (j = 0; j < 2 * i + 1; j++)//每一行打印几个 *
		{
			printf("*");
		}
		printf("\n");//换行
	}
	return 0;
}

结果见下图:

【C语言练习——打印上三角、下三角及其变形】_第10张图片


总结

本文练习打印上三角、下三角及其变形,主要练习了:

  • 外循环、内循环的应用
  • 注意行数、空格数、符号*数之间的数学表达式

CSDN话题挑战赛第1期
活动详情地址:活动地址

你可能感兴趣的:(C知识点的练习题,c语言,线性代数,开发语言)