用C语言 编写一段代码,输出如下图形

*
* * *
* * * * *
* * * * * * *
* * * * * * * * *

如何输出这样的图形,算法是怎样的?
请详细说明一下吧!
左边还有一半的! 左右两边对称的啊!(第一行只有一个星号)
还有星号于星号之间有空格的啊!

用双重循环就可以了哈
#include<stdio.h>
void main()
{
int i,j;
for(i=0;i<5;i++)//输出行数
{
for(j=0;j<2*(4-i);j++)
putchar(' ');
for(j=0;j<2*i+1;j++)//输出每行的字符
{
putchar('*');
putchar(' ');
}
putchar('\n');//输出每行之后换行
}
getchar();
}
已经修改
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-15
这个很简单,用两个循环就能做好吧。
递增的时候加2,不要加1.因为你是每行多两个。
第2个回答  2008-03-16
____*
___*_*
__*_*_*
_*_*_*_*
*_*_*_*_*
楼主应该是要显示这样的一个吧."_"代表"空格".
include"stdio.h"
void main()
{
int i,j,k;
for(i=0;i>4;i++)
{
for(j=3;j<i;j--)
{
printf(" "); /*这里显示空格*/
}
for(k=0;k<=i;k++)
{
printf("* "); /*这里是*号加空格*/
}
}
}
第3个回答  2020-04-25
用数列的方式找规律,三角形不容易看,你吧他看成长方形,只是有的点是星,有的电是空格。当一行时,列数为1,2行时,列数为5,三行时,列数为9,关系如下
1
5
9
13……等差数列,公差为4,首项为1,则关系式为4n-3,都是数学的知识,所以数学对于计算机是非常重要的。只是一些表面上的东西容易蒙蔽人们的眼睛,认为熟悉某个接口或者某种语言的人是计算机高手,其实真正的计算机高手是数学家。
楼上的也不看题目。
#include
"stdio.h"
void
main(){
int
i,j,n;
printf("input
n:");
scanf("%d",&n);
for(i
=
0
;
i
<
n
;
i++){
for(j
=
0
;
j
<
4*n
-
3
;
j++){
if(j
<
2*n
-2
-
2*i
||
j
>
2*n-2
+
2*i)
printf("
");
else
if(
j
%
2
==
0)
printf("*");
else
printf("
");
}
printf("\n");
}
}
这个题目是考循环的内容,主要的知识是数学中的数列问题,行数和列数之间存在这一个关系,也就是
列数

4*行数-3。
找到这个关系就好解决了。
第4个回答  2019-12-16
用双重循环就可以了哈
#include<stdio.h>
void
main()
{
int
i,j;
for(i=0;i<5;i++)//输出行数
{
for(j=0;j<2*(4-i);j++)
putchar('
');
for(j=0;j<2*i+1;j++)//输出每行的字符
{
putchar('*');
putchar('
');
}
putchar('\n');//输出每行之后换行
}
getchar();
}
已经修改
相似回答