这种三角形怎么打印啊

img


代码怎么做到让第二行是三个号第三行是5个号啊,我只会连续递增一个*的,各位可以指导我一下吗


#include<stdio.h>
int main()
{
    int a,c=1,i,j,x,n,p = 0;
    while( scanf("%d",&a)!=EOF)
           {
            x = a;
            for(i = 1;i <=a ; i++)
            {
                x=x-1;
                for(j = 1;j <= x; j++)
                {
                    printf(" ");
                }
                j = 1;
                for(n = 1;n <= 2 * c - 1; n++)
                {
                    printf("*");
                }
                c=c+1;
                printf("\n");
            }
            c=1;
        }
    return 0;
}

按照你的思路,你把for()的最后一个条件i++改成 i+=2不就好了

你要计算左侧每行的空格数,然后每行输出 * 号数量为行号 * 2+1

#include <stdio.h>
int main()
{
    int n,i,j;
    printf("请输入等腰三角形高:");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        for(j=n-1;j>i;j--)
            printf(" ");
        for(j=0;j<2*i+1;j++)
            printf("*");
        printf("\n");

    }
    return 0;
}

找到图形边界行与列的函数关系,然后两层循环,其实跟线性规划有点像

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^