| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 514 人关注过本帖
标题:杨辉三角形的打印
取消只看楼主 加入收藏
lonelyfairy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2009-9-29
结帖率:90.91%
收藏
已结贴  问题点数:10 回复次数:2 
杨辉三角形的打印
打印出杨辉三角形(要求打印10行)               注意:c(n,m)=n!/[m!*(n-m)!]         还望高手指教!!


1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
.....
搜索更多相关主题的帖子: 打印 杨辉三角 
2009-10-17 17:21
lonelyfairy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2009-9-29
收藏
得分:0 
2楼的程序如下:


#include "malloc.h" (这里说是找不到文件)
void main()
{
   int n;
   printf("Set n,please:\n");
   scanf("%d",&n);
   delta(n);
   getch();
}
int delta(int n)
{
  int i,j,no,num,max;
  int *mtrx;
  max=n*n;
  /*C-array is 0-based.*/
  mtrx=malloc(max+max);(这里说是指针到达不了)
  for(i=0;i<n;i++)
  {
    for(j=0;j<=i;j++)
    {
      if(i<1)
      {
    mtrx[0]=1;
      }
      else
      {
    no=i*n+j;
    if(j==0||j==i)
    {
2009-10-17 21:04
lonelyfairy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2009-9-29
收藏
得分:0 
经过多番思考,终于想出来啦!程序如下:   



#include "stdio.h"
int c(int i,int j)
{ int g,k,n;
  double y,r=1.0,s=1.0,t=1.0;
  if(j==0)
     return 1;
  if(j==1)
     return i;
  if(j==i)
     return 1;
  if(j>1)
  { for(k=1;k<=i;k++)
    t*=k;
    for(g=1;g<=j;g++)
    s*=g;
    for(n=1;n<=i-j;n++)
    r*=n;
    y=t/(s*r);
    return y;
  }
}
main()
{ int i,j;
  for(i=0;i<10;i++)
  { for(j=0;j<=i;j++)
    printf("%5d",c(i,j));
    printf("\n");
  }
  system("pause");
}
2009-10-18 12:44
快速回复:杨辉三角形的打印
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011297 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved