正三角形
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n-i-1; j++)
{
printf(" ");
}
for (int k = 0; k < 2*i+1; k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
倒三角形
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
for (int k = 0; k < 2 * n - 2 * i - 1; k++)
{
printf("*");
}
printf("\n");
for (int j = 0; j < i + 1; j++)
{
if (i<n-1)
printf(" ");
}
}
return 0;
}
正空心三角形
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
for (int i = 0; i < n - 1; i++)
{
for (int k = 0; k < n - i - 1; k++)
{
printf(" ");
}
for (int j = 0; j < 1; j++)
{
printf("*");
}
for (int j = 0; j < 2 * i - 1; j++)
{
printf(" ");
}
if (0 != i)
printf("*");
printf("\n");
}
for (int i = 0; i < 2 * n - 1; i++)
{
printf("*");
}
printf("\n");
return 0;
}
倒空心三角形
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
for (int i = 0; i < 2 * n - 1; i++)
{
printf("*");
}
printf("\n");
for (int i = 1; i < n; i++)
{
for (int j = 0; j < 2 * n - i - 1; j++)
{
if (i == j || j== 2 * n - i - 2)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
return 0;
}
下面是倒空心三角的大致解析:
菱形
int main()
{
int n = 0;
int i = 0;
scanf("%d", &n);
//上半分
for(i=0; i<n; i++)
{
//打印空格
int j = 0;
for(j=0; j<n-1-i; j++)
{
printf(" ");
}
//打印*
for(j=0; j<2*i+1; j++)
{
printf("*");
}
printf("\n");
}
//下半部分
for(i=0; i<n-1; i++)
{
int j = 0;
for(j=0; j<=i; j++)
{
printf(" ");
}
for(j=0; j<2*(n-1-i)-1; j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
X形
牛客网链接:BC68 X形图案
#include <stdio.h>
int main()
{
int n = 0;
int space = 0;
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;
}
箭形
牛客网链接:BC65 箭形图案
#include <stdio.h>
int main()
{
int n = 0;
while (scanf("%d", &n) != EOF)
{
//控制上部分
for (int i = 0; i < n; i++)
{
for (int j = 2 * n - 2 * i; j > 0; j--)
{
printf(" ");
}
for (int k = 0; k < i + 1; k++)
{
printf("*");
}
printf("\n");
}
//控制中间
for (int i = 0; i < n + 1; i++)
{
printf("*");
}
printf("\n");
//控制下
for (int i = 0; i < n; i++)
{
for (int j = 0; j < 2 * i + 2; j++)
{
printf(" ");
}
for (int k = 0; k < n - i; k++)
{
printf("*");
}
printf("\n");
}
}
return 0;
}