#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;
}
找到图形边界行与列的函数关系,然后两层循环,其实跟线性规划有点像
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!