【C语言】打印各种图形问题,学会搞定所有图形,举一反一亿!

【C语言】打印各种 图形 问题

本质上就是找规律,找规律,找规律!

一,X图形

【C语言】打印各种图形问题,学会搞定所有图形,举一反一亿!_第1张图片

一些宝子一看就没有头绪,但这种图形题其实全部都是找规律,找规律,找规律 (重要的事情说三遍)

先看图画解析

【C语言】打印各种图形问题,学会搞定所有图形,举一反一亿!_第2张图片

这可以看成二维数组arr[i][j],仔细的宝子可以发现其中arr[i][i]都被框了出来,所以规律为,arr[i][j] (i=j)和arr[i][j] (i+j=n-1)时输出(*)这样就完成了,代码:

 完整代码:

#include 
int main()
{
	int n;
	while (scanf("%d", &n) != EOF)
	{
		for (int i = 0; i < n; i++)  //外循环,表示行
		{
			for (int j = 0; j < n; j++)  //内循环,表示列
			{
				if (i == j || i + j == n - 1)
					printf("*");
				else
					printf(" ");
			}
			printf("\n");
		}
	}
	return 0;
}
//制作不易,希望一键三连,以后会持续更新C语言题库,点个关注不迷路

这个为精髓部分! 

二,空正方形;

【C语言】打印各种图形问题,学会搞定所有图形,举一反一亿!_第3张图片

一样的找规律如下:

只需把上面条件换一下即可

 

完整代码;

#include 
int main()
{
	int n;
	while (scanf("%d", &n) != EOF)
	{
		for (int i = 0; i < n; i++)  //外循环,表示行
		{
			for (int j = 0; j < n; j++)  //内循环,表示列
			{
				if (i == 0 || j == n - 1 || j == 0 || i == n - 1)
					printf("* ");
				else
					printf("  ");
			}
			printf("\n");
		}
	}
	return 0;
}
//制作不易,希望一键三连,以后会持续更新C语言题库,点个关注不迷路

 道理都一样;

三,空三角形;

规律变动:

道理都一样:

完整代码:

#include 
int main()
{
	int n;
	while (scanf("%d", &n) != EOF)
	{
		for (int i = 0; i < n; i++)  //外循环,表示行
		{
			for (int j = 0; j < n; j++)  //内循环,表示列
			{
				if (i == n - 1||i==j||j==0)
					printf("*");
				else
					printf(" ");
			}
			printf("\n");
		}
	}
	return 0;
}
//制作不易,希望一键三连,以后会持续更新C语言题库,点个关注不迷路

 四,小结

以上就是关于图形的解决方案,关键是找规律!找规律!找规律!感谢阅读,点个关注不迷路。

你可能感兴趣的:(c语言,算法,开发语言,学习,数据结构)