三角形相关编程

直角三角形

#include

#include

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
#include//收获是,用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和空格的数目。

你可能感兴趣的:(三角形相关编程)