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,得到下半部分的图像。
输出星号,主要是锻炼我们使用循环语句的能力。根据图形的规律,研究出循环方法和控制条件,进而编写代码,输出结果,参考代码和运行结果如下:
本代码,可以输出任意高度的图形
do {} while();循环是用来控制测试笔数的,当输入数值小于等于0时,结束测试
这是有规律的:
#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");
}
}
#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;
}
#include
void main()
{
printf("*\n");
printf("***\n");
printf("*****\n");
printf("*******\n);
printf("*****\n);
printf("***\n");
printf("*\n");
}