【C语言】打印各种 图形 问题
本质上就是找规律,找规律,找规律!
一,X图形
一些宝子一看就没有头绪,但这种图形题其实全部都是找规律,找规律,找规律 (重要的事情说三遍)
先看图画解析
这可以看成二维数组arr[i][j],仔细的宝子可以发现其中arr[i][i]都被框了出来,所以规律为,arr[i][j] (i=j)和arr[i][j] (i+j=n-1)时输出(*)这样就完成了,代码:
完整代码:
#include <stdio.h>
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语言题库,点个关注不迷路
这个为精髓部分!
二,空正方形;
一样的找规律如下:
只需把上面条件换一下即可
完整代码;
#include <stdio.h>
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 <stdio.h>
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语言题库,点个关注不迷路
四,小结
以上就是关于图形的解决方案,关键是找规律!找规律!找规律!感谢阅读,点个关注不迷路。