用一个循环结构编写一个c程序,输出如图所示的结果

2025-02-02 06:00:01
推荐回答(2个)
回答1:

#include 

void main()

{

 int i, j, k, n;

 printf("请输入正整数n: ");

 scanf("%d", &n);

 while(n!=0)    //设置循环,使程序可以反复输入。当n=0时,结束输入。。

 {

  for(i=1; i<=n; i++)

  {

   for(j=1; j<=n-i; j++)   //设置空格的输出,因为要是棱形,所以要输出空格

   {

    printf(" ");

   }

   for(k=1; k<=2*i-1; k++)   //*号的输出

   {

    printf("*");

   }

   printf("\n");    //i每加1,表示加一行,所以每行结束后要换行

  }

 

  for(i=1; i<=n; i++)    //这段程序是下三角的输出

  {

   for(j=1; j<=i; j++)   //当i=1时,即下三角的第1行,输出1个空格,i=2,时输出2个。

   {

    printf(" ");

   }

   for(k=2*(n-i)-1; k>0; k--)  //因为是下三角,每行的*比上一行的少,所以,k是递减的

   {

    printf("*");

   }

   printf("\n");

  }

  printf("请输入正整数n: ");   //完成一次完整的输出后,再次要求输入n,这样就可以实现循环了。

  scanf("%d",&n); 

 

 }

}



对于你这个图案,n=4嘛。。

回答2:

#include
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
return 0;
}