用队输出杨辉三角形

#include<stdio.h>
typedef struct node
{int a[40];
int tou,wei;
}node;//
node chushihua(node s)
{s.tou=0;
s.wei=0;
return s;
 }//初始化
 node duijin(node s,int c)
 {s.a[s.wei]=c;
 s.wei=(s.wei+1)%40;
 return s;
  } //进队
  int panduan(node s)
  {if(s.tou==s.wei)
  return 1;
  else
  return 0;
  }//判断 
  node duichu(node s)
  {s.tou=(s.tou+1)%40;
  return s;
   } //出对
 int main()
 {int n,f,j=1,i,x;
 node s;
 printf("请输入杨辉三角形的行");
 scanf("%d",&n);
 s=chushihua(s);
 s=duijin(s,j);
 for(i=2;i<=n;i++)
 { s=duijin(s,j);
 for(x=2;x<=i-1;x++)
 {f=s.a[s.tou];
 printf("%d ",f);
 s=duichu(s);
 f+=s.a[s.tou];
 s=duijin(s,f);
 f=0;
 }
 f=s.a[s.tou];
 printf("%d\n",f);
 s=duichu(s);
 f=0;
 s=duijin(s,j);
 }
 while(!panduan(s))
 {f=s.a[s.tou];
 printf("%d ",f);
 s=duichu(s);
 }
	}   
在这里插入代码片

猜你喜欢

转载自blog.csdn.net/feiqipengcheng/article/details/83217968