一.底层逻辑:i表示行,j表示列,找星号坐标的关系式,if判断打印或者空格
二:题型总结
1.对角线打印:逻辑是先找到对角线的坐标,看它的行列和输入的值大小关系。
#include<stdio.h>
int main()
{ int n=0;
int i=0;
int j=0;
while(scanf(“%d”,&n)!=EOF)
{
for(i=0;i<=n;i++)
{
for(j=0;j<=n;j++)
{
if(i=j)
{
printf("“);
}
else if(i+j==n-1)
{
printf(” * “);
}
else
{
printf(” “);
}
}
printf(”\n");
}
return 0;
}
2.矩形和正方形打印
打印在第一行,最后一行,第一列,最后一列
的每个位置
if(i0||in-1||j0||jn-1)
printf(“*”);
3.三角形的打印
左下角直角三角形
*
还是先弄两个for循环,然后
if(j<=i)
{
printf(“*”);
}
else
{
printf(" ");
}
左上角直角三角形
**
*
把条件换成(j<=n-i-1)
第一行的j0,i2,n=3
第二行的j1,i1,n=3
以此类推
等腰金字塔(n代表了多少行)
*
先找到每个*的坐标
(2,0)(1,1)(2,1)
(0,2 )
以(0,2)举例
if(j>=n-1-j&&j<=n-1+i)
printf(" * “);
else
printf(” ");
4.\镜像反转(相当于把三角形和矩形反转了)
5.把字母打印成数字
for(i)
{
for(j)
{
printf(“%d”,i);
}
printf(“\n”);
}