如何用C语言输出星号

2024-11-08 02:29:44
推荐回答(5个)
回答1:

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

#include

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,得到下半部分的图像。

回答2:

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

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

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

回答3:

这是有规律的:

#include

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");
}

}

回答4:

#include
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;
}

回答5:

#include
void main()
{
printf("*\n");
printf("***\n");
printf("*****\n");
printf("*******\n);
printf("*****\n);
printf("***\n");
printf("*\n");
}