哪位大哥帮下忙!c++写二项式(a+b)n展开后,其系数构成杨辉三角形,利用队列写出打印杨辉三角形的前n行
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/26 02:16:58
![哪位大哥帮下忙!c++写二项式(a+b)n展开后,其系数构成杨辉三角形,利用队列写出打印杨辉三角形的前n行](/uploads/image/z/554443-43-3.jpg?t=%E5%93%AA%E4%BD%8D%E5%A4%A7%E5%93%A5%E5%B8%AE%E4%B8%8B%E5%BF%99%21c%2B%2B%E5%86%99%E4%BA%8C%E9%A1%B9%E5%BC%8F%28a%2Bb%29n%E5%B1%95%E5%BC%80%E5%90%8E%2C%E5%85%B6%E7%B3%BB%E6%95%B0%E6%9E%84%E6%88%90%E6%9D%A8%E8%BE%89%E4%B8%89%E8%A7%92%E5%BD%A2%2C%E5%88%A9%E7%94%A8%E9%98%9F%E5%88%97%E5%86%99%E5%87%BA%E6%89%93%E5%8D%B0%E6%9D%A8%E8%BE%89%E4%B8%89%E8%A7%92%E5%BD%A2%E7%9A%84%E5%89%8Dn%E8%A1%8C)
哪位大哥帮下忙!c++写二项式(a+b)n展开后,其系数构成杨辉三角形,利用队列写出打印杨辉三角形的前n行
哪位大哥帮下忙!c++写二项式(a+b)n展开后,其系数构成杨辉三角形,利用队列写出打印杨辉三角形的前n行
哪位大哥帮下忙!c++写二项式(a+b)n展开后,其系数构成杨辉三角形,利用队列写出打印杨辉三角形的前n行
#include
#include
#define maxsize 1000
typedef struct
{
int element[maxsize];
int front;
int rear;
}SeqQueue;
void Print();
void Choose(int choice);
void YangHuiTriangle(int n);
void InitQueue(SeqQueue *Q);
int EnterQueue(SeqQueue *Q,int x);
int DeleteQueue(SeqQueue *Q,int *x);
int GetHead(SeqQueue Q,int *x);
int main()
{
system("color a");
Print();
while(true)
{
printf("Press enter to continue.");
getchar();
getchar();
system("cls");
Print();
}
return 0;
}
void Print()
{
int choice;
printf("Made By 杨梅树的盔甲~\n");
printf("---------------------\n");
printf("使用说明:本程序可打印出一个n行的杨辉三角.\n");
printf("---------------------\n");
printf("1.请输入杨辉三角的行数n.\n");
printf("2.按其它任意键退出.\n");
printf("---------------------\n");
printf("请选择你要的操作:");
scanf("%d",&choice);
Choose(choice);
}
void Choose(int choice)
{
int n;
switch(choice)
{
case 1:
printf("请输入杨辉三角的行数n:\n");
scanf("%d",&n);
YangHuiTriangle(n);
break;
default:
exit(0);
}
}
void YangHuiTriangle(int n)
{
int blank;
int x;
int temp;
int i;
int j;
SeqQueue Q;
InitQueue(&Q);
EnterQueue(&Q,1); //第一行元素入队
for(i=2;irear+1)%maxsize==Q->front)//队列已满
return(false);
Q->element[Q->rear]=x;
Q->rear=(Q->rear+1)%maxsize;//重新设置队尾指针
return(true);//操作成功
}
//出队操作
int DeleteQueue(SeqQueue *Q,int *x)
//删除队列的队头元素,用x返回其值
{
if(Q->front==Q->rear)//队列为空
return(false);
*x=Q->element[Q->front];
Q->front=(Q->front+1)%maxsize;//重新设置队头指针
return(true);//操作成功
}
int GetHead(SeqQueue Q,int *x)
{
if(Q.front==Q.rear)//队列为空
return(false);
*x=Q.element[Q.front];
return(true);
}