Chinaunix首页 | 论坛 | 博客
  • 博客访问: 424867
  • 博文数量: 158
  • 博客积分: 1855
  • 博客等级: 上尉
  • 技术积分: 1888
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-18 14:19
文章分类

全部博文(158)

文章存档

2013年(4)

2012年(16)

2011年(10)

2010年(40)

2009年(61)

2008年(33)

分类: C/C++

2008-12-13 22:34:24

写一个程序,输出如下的一个菱形  
   *
  ***
 *****
*******
 *****
  ***
   *
[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表示菱形)
 
阅读(982) | 评论(0) | 转发(0) |
0

上一篇:mysql

下一篇:兔子买胡萝卜

给主人留下些什么吧!~~