对于输出由*组成的三角形问题中,当然最“笨”的方法可以用print()语句一行一行的输出三角形每行对应的星星,不过,用循环语句的话会更节省时间。下面就是几种常见的三角形图案。

(1)
在这里插入图片描述
首先大家注意上边这个等腰直角三角形,第一列和第一行均6颗星;
想要几颗星的三角形都可以,只要把如下代码中的第4行代码中的 n=6 改成你想要的数字即可,比如你想要四颗星的三角形,就把6改成4.
方法1

#include <stdio.h>
int main()
{ 
int n=4;
int i,j;
    for(i=0;i<n;i++) 
    {
        for(j=0;j<n-i;j++)
            printf("*");
        if(i<n-1)
        printf("\n");
    }
    return 0;
} 

方法2

#include <stdio.h>
int main()
{ 
int n=6;
int i,j;
    for(i=1;i<n+1;i++) 
    {
        for(j=1;j<=n-i+1;j++)
            printf("*");
        if(i<n)
        printf("\n");
    }
    return 0;
} 

(2)

上边这个三角形,第一列和最后一行均6颗星;
想要几颗星的三角形都可以,只需把如下代码中的第4行代码中的 n=6 改成你想要的数字即可。

#include <stdio.h>
int main()
{
	int n=6;
	int i,j;
	for(i=0;i<n;i++)
    {
        for(j=0;j<=i;j++)
            printf("*");
        printf("\n");
    }
    return 0;
}

(3)

上边这个三角形,最后一列和最后一行均6颗星;
想要几颗星的三角形都可以,只需把如下代码中的第4行代码中的 n=6 改成你想要的数字即可。

#include <stdio.h>
int main()
{
	int n=6;
	int i,j;
	for(i=0;i<n;i++)
    {
        for(j=0;j<n-i-1;j++)
            printf(" ");
        for(j=0;j<=i;j++)
            printf("*");
        printf("\n");
    }
    return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
	int n=6;
	int i,j;
	    for(i=0;i<n;i++)
    {
        for(j=0;j<i;j++)
            printf(" ");
        for(j=i;j<n;j++)
            printf("*");
        printf("\n");
    }
    return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
	int n=6;
	int i,j;
	    for(i=0;i<n;i++)
    {
        for(j=0;j<n-i-1;j++)
            printf(" ");
        for(j=n-i-1;j<n+i;j++)
            printf("*");
        printf("\n");
    }
    return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
	int n=6;
	int i,j;
	    for(i=0;i<n;i++)
    {
        for(j=0;j<i;j++)
            printf(" ");
        for(j=i;j<2*n-i-1;j++)
		    printf("*");
        printf("\n");
    }
    return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
	for(int i=0;i<=4;i++){
		for(int j=0;j<=4-i;j++){
	     	printf(" ");
		}
		for(int k=0;k<=i*2;k++){
		  printf("*");
		}
		printf("\n");
	}

    for(int m=0;m<=4;m++){
		for(int n=0;n<=m;n++){
			printf(" ");
		}
		for(int a=0;a<9-m*2;a++){
		  printf("*");
		}
		printf("\n");
    }
	return 0;
}

当然,实现每种三角形都不止一种方法,欢迎大家在评论区留言,分享更简洁更省时间的代码实现。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐