写一个程序,输出如下的一个菱形
*
***
*****
*******
*****
***
*
[root@qq c]# cat diamond.c
main()
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
for(i=1;i<=3;i++)
{
for(j=1;j<=i;j++)
printf(" ");
for(j=1;j<=7-2*i;j++) //最下面三行
printf("*");
printf("\n");
}
}
注:蓝色的那行是如何算的呢?
观察最下面三行的行号与菱形数的规律:
行号 菱形数
1 5
2 3
3 1
那么行号与菱形数有什么样的关系呀?
我们列一个二元一次方程:y=ax*x+bx+c (x表示行号,y表示菱形)
即:
a+b+c=5
4a+2b+c=3
9a+3b+c=1
求解得:a=0,b=-2,c=7
因此,行号与菱形的关系为:y=-2x+7 (x表示行号,y表示菱形)
阅读(1009) | 评论(0) | 转发(0) |