C语言:打印用 * 组成的带空格直角三角形图案

题目:

多组输入一个整数(2~20),表示直角三角形直角边的长度,即 * 的数量,也表示输出行数

                    

 =========================================================================

                       

思路:

总体思路:

找到规律

行数 + 列数  < 三角形长度 - 1

打印 两个空格(题目要求带空格的三角形

其它情况打印 *号和空格(题目要求带空格的三角形

             

使用 while循环 进行多组输入

               

输入后整数后,使用 for循环 打印行

              

内嵌一个 for循环 打印列

如果 

行数 + 列数  < 三角形长度 - 1

打印 两个空格

否则打印 *号+空格

             

打印一行后进行 换行

                


                 

比较简单,直接一步到位:

(1).

使用 while循环 进行多组输入

               

(2).

输入后整数后,使用 for循环 打印行

              

(3).

内嵌一个 for循环 打印列

如果 

行数 + 列数  < 三角形长度 - 1

打印 两个空格

否则打印 *号+空格

             

(4).

打印一行后进行 换行

                    

实现代码:

#include <stdio.h>
int main()
{
	int n = 0; //直角三角形边的长度,"*"的数量,输出行数

	//多组输入:
	while (scanf("%d", &n) == 1)
	{
		int i = 0; //行
		int j = 0; //列
		//使用 for循环 打印行
		for (i = 0; i < n; i++)
		{
			//内嵌 for循环 打印列
			for (j = 0; j < n; j++)
			{
				//如果 行数+列数 < 三角形长度 - 1
				//打印 两个空格:
				if (i+j < n-1)
				{
					printf("  ");
				}
				else
				{
					//其它情况打印 *号+空格:
					printf("* ");
				}
				
			}

			//打印完一行后进行换行:
			printf("\n");
		}
	}

	return 0;
}

实现图片:

                    

最终代码和实现效果

最终代码:

#include <stdio.h>
int main()
{
	int n = 0; //直角三角形边的长度,"*"的数量,输出行数

	//多组输入:
	while (scanf("%d", &n) == 1)
	{
		int i = 0; //行
		int j = 0; //列
		//使用 for循环 打印行
		for (i = 0; i < n; i++)
		{
			//内嵌 for循环 打印列
			for (j = 0; j < n; j++)
			{
				//如果 行数+列数 < 三角形长度 - 1
				//打印 两个空格:
				if (i+j < n-1)
				{
					printf("  ");
				}
				else
				{
					//其它情况打印 *号+空格:
					printf("* ");
				}
				
			}

			//打印完一行后进行换行:
			printf("\n");
		}
	}

	return 0;
}

实现效果:

猜你喜欢

转载自blog.csdn.net/weixin_63176266/article/details/131484939