如何用C语言输出星号

星号的形式如下,请用C语言编写程序:
星号全部左对齐,第一行有一个星号,第二行有三个星号,第三行有五个星号,第四行有七个星号,第五行有五个星号,第六行有三个星号,第七行有一个星号。
如图:
*
***
*****
*******
*****
***
*
请各位高手告诉我答案,Thank you very much.
星号的形式如下,请用C语言编写程序(可以用循环就用循环):
星号全部左对齐,第一行有一个星号,第二行有三个星号,第三行有五个星号,第四行有七个星号,第五行有五个星号,第六行有三个星号,第七行有一个星号。
如图:
*
***
*****
*******
*****
***
*
请各位高手告诉我答案,Thank you very much.

C语言输出如题所示图案的代码如下:

#include<stdio.h>

int main( )

{

int x;

int i,j,k;

printf("请输入,需要生成图案的行数(单数):");

scanf("%d",&x);

k=x/2+1;

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

{

for(j=0;j<2*i-1;j++)

printf("*");

printf("\n");

}

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

{

for(j=0;j<2*i-1;j++)

printf("*");

printf("\n");

}

}

扩展资料:

由题,需要输出这样一个图像,可将其看为一个正三角形与倒三角形的组合。

且对于下图:

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

由行数与*号的关系可得,在对于总行数/2+1的部分,行数*2+1,即为*号的数目,因而得到了前半段图形的代码。

而对于后半部分的倒三角形,其行数可记为,倒数总行数/2...3、2、1行,则可利用循环以及2*行数-1,得到下半部分的图像。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-04

输出星号,主要是锻炼我们使用循环语句的能力。根据图形的规律,研究出循环方法和控制条件,进而编写代码,输出结果,参考代码和运行结果如下:

本代码,可以输出任意高度的图形

do {} while();循环是用来控制测试笔数的,当输入数值小于等于0时,结束测试

第2个回答  推荐于2017-09-29
这是有规律的:

#include <stdio.h>

void main()
{
int i,j,k;
/*先输出前4行*/
for(i=0;i<4;i++)
{
for(j=0;j<2*i+1;j++)/*每行输出的*号数目*/
printf("*");
printf("\n");
}
/*再输出后4行*/
for(i=2;i>=0;i--)
{
for(k=0;k<2*i+1;k++)
printf("*");
printf("\n");
}

}本回答被提问者采纳
第3个回答  2010-03-27
#include<stdio.h>
int main()
{
int i,j;
char a[][7] = {{'*',' ',' ',' ',' ',' ',' '},{'*','*','*',' ',' ',' ',' '},
{'*','*','*','*','*',' ',' '},
{'*','*','*','*','*','*','*'},{'*','*','*','*','*',' ',' '},{'*','*','*',' ',' ',' ',' '},
{'*',' ',' ',' ',' ',' ',' '}};//注意单引号间要有空格
for(i = 0;i < 7;i++)
{
for(j = 0;j < 7;j++)
printf("%c",a[i][j]);
printf("\n");
}
return 0;
}
第4个回答  2010-03-27
#include <stdio.h>
void main()
{
printf("*\n");
printf("***\n");
printf("*****\n");
printf("*******\n);
printf("*****\n);
printf("***\n");
printf("*\n");
}
相似回答