C语言题目:编程输出如下图案 一个* 三个* 五个* 七个* 五个* 三个* 一个*

2024-11-08 11:39:47
推荐回答(5个)
回答1:

#include 

int main()

{

 int i,n,j;

 //这个for循环输出上半个三角形

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

 {

  if(i%2!=0)//只在i为奇数时输出

  {

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

   {

    printf("*");

   }

   printf("\n");

  }

 }//这个for 输出下半个三角形

 for (i=7;i>=1;i--)

 {

  if(i%2!=0)//同上

  {

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

   {

    printf("*");

   }

   printf("\n");

  }

 } 

 return 0;

}

 

 

 

回答2:

#include
#include
void main()
{
int i,j,n=3;/*n值的选取根据所打印菱形的边长而定,本例取3*/
for(i=-n;i<=n;i++)
{
for(j=0;j printf(" ");

for(j=0;j<2*(n-fabs(i))+1;j++)/*打印*号*/
printf("*");
printf("\n"); /*换到下一行*/

}

}
/*本题目关键是要找到循环变量i和打印次数的对应关系,另外,可以利用菱形的对称性,灵活进行循环初始量的取值,希望能帮到你!*/

回答3:

main()
{
int i,r,b=0,c,d=4;
for(r=4;r>0;r--)
{
for(i=1;i printf(" ");
b+=1;
for(c=1;c<=2*b-1;c++)
printf("%c",'*');
printf("\n");
}
for(r=1;r<4;r++)
{
for(i=1;i<=r;i++)
printf(" ");
d-=1;
for(c=1;c<=2*d-1;c++)
printf("%c",'*');
printf("\n");
}
}
求采纳

回答4:

#include
int main(void)
{
int i,j;
for (i=0;i<=5;i++)
{

for (j=0;j<=5-i;j++)
{
printf(" ");
}
for (j=0;j {
printf("*");
}
printf("\n");
}
for (i=1;i<5;i++)
{

for (j=0;j<=i;j++)
{
printf(" ");
}
for (j=0;j<9-2*i;j++)
{
printf("*");
}
printf("\n");
}

}

回答5:

#include
int main(void)
{
int i=0;
int j=0;
int n=0;
printf("此程序的功能是:打印出2*n+1行的菱形!\n");
printf("请输入n的值:");
scanf("%d",&n);
for(i=0; i<2*n+1; i++)
{
/*1~n行先打印出n-i个空格再打印出2*i+1个'*'*/
if(i{
for(j=0; j{
printf(" ");
}
for(j=0; j<2*i+1; j++)
{
printf("*");
}
}else/*n~2*n+1行先打印出i-n个空格再打印出2*n+1-2*(i-n)个'*'*/
{
for(j=0; j{
printf(" ");
}
for(j=0; j<4*n-2*i+1; j++)
{
printf("*");
}
}
printf("\n");
}
return 0;
}