直角三角形
#include<stdio.h>
#include<stlib.h>
int main()
{
int num=7;
for(int i=1;i<=num;i++)
{
for(int j=1;j<=i;j++)
{
printf("*");
}
printf("*");
}
sytem("pause");
return 0;
}
这是FOR循环的嵌套。
等腰三角形
#include#include//用的是将mediant增大很多,以此腾出空间来容纳等腰三角形。缺点是当num很大时,无法保证增大的mediant能腾出足够的空间。
//故而,采用3个直角三角形的做法才是比较好的,不论num大或小,均能正常显示。
int main()
{
int num = 7,mediant;
if (num % 2 == 0)
{
mediant = (num/2+1)*2;
}
else
{
mediant = ((num + 1) / 2)*2;
}
for (int i = 0; i <= (num-1); i++)
{
for (int j = 1; j <= (mediant - i); j++)
{
printf(" ");
}
for (int j = (mediant - i); j <= (mediant + i); j++)
{
printf("*");
}
printf("\n");
}
system("pause");
return 0;
}
从中间线出发,从两边延伸,成等腰三角形。
菱形
`#include<stdio.h>
#include<stdlib.h>//收获是,用2个等腰三角形拼成一个等腰三角形,4个等腰三角形拼成一个菱形。可惜的是,新腰都不是旧腰了。
int main()
{
int num = 7;
for (int i = 0; i <=2*num; i++)
{
if (i <= num)
{
for (int a = 1; a<=(num-i); a++)
{
printf(" ");
}
for (int j = (num-i); j <= (num+i); j++)
{
printf("*");
}
printf("\n");
}
if (i > num)
{
for (int a = 1; a < (i-num+1); a++)
{
printf(" ");
}
for (int j = (i - num+1); j <= (3*num-i+1); j++)
{
printf("*");
}
printf("\n");
}
}
system("pause");
return 0;
}
像织布机,一行织完空格和星号后\n换行继续织,空格顶格开始织。
关键点在与\n和空格的数目。
网友评论