本文目錄一覽:
楊輝三角c語言程序怎麼修改
把主函數改一下——
改動資料:
int main(int argc,char *argv[]){
squeue Q;
int e,n,i=1,j,r,k,t,m,x,y;//增加m,x,y變量用於頁面控制
InitQue(Q);
printf(“輸入需要打印楊輝三角的行數n:”);
scanf(“%d”,n);/////////////
for(r=1,t=n-1,k=(t1);tk;r*=t–);//這兩行求這個三角形中最大的數
for(k+=!(n1);k1;r/=k–);
for(m=0;r;r/=10,m++);//求這個最大的數是多少位
Input(Q,1);/////////
t=i;
//for(i=1;i=n-t;i++){
for(i=1;i=(n-t)*m;i++){
printf(” “);
}//
printf(“1\n”);
for(i=2;i=n;i++){
r=0;
//for(k=1;k=n-i;k++){
for(k=1;k=(n-i)*m;k++){//改成這樣
printf(” “);
}
for(j=1;j=i-1;j++){
e=outque(Q,e);
printf(“%d”,x=e+r);//改一下這一句
for(y=0;x;x/=10,y++);//加上這一句
for(x=0;xm+m-y;printf(” “),x++);//加上這一句
Input(Q,e+r);
r=e;
}
printf(“1\n”);
Input(Q,1);
}
return 0;
}
C語言楊輝三角編程
#include stdio.h
main()
{ int i,j,n=0,a[17][17]={0};
while(n1 || n16)
{ printf(“請輸入楊輝三角形的行數(大於0,小於17):”);
scanf(“%d”,n);
}
for(i=0;in;i++)
a[i][0]=1; /*第一列全置為一*/
for(i=1;in;i++)
for(j=1;j=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];/*每個數是上面兩數之和*/
for(i=0;in;i++) /*輸出楊輝三角*/
{ for(j=0;j=i;j++)
printf(“%5d”,a[i][j]);
printf(“\n”);
}
}
//夠簡單了吧?
求楊輝三角形得C語言程序代碼。要求六行,使用二維數組
#include stdio.h
int main()
{
int i=0,j=0,a[6][6]={{0}};
for (i=0;i6;i++)
a[i][0]=a[i][i]=1;
for (i=2;i6;i++)
for(j=1;ji;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for (i=0;i6;i++)
{
for (j=0;j=i;j++)
printf(“%5d”,a[i][j]);
printf(“\n”);
}
return 0;
}
c語言楊輝三角
#includestdio.h
#includestdlib.h
#define MAXSIZE 20
typedef struct
{ int datas[MAXSIZE];
int front,rear;
}SqQueue;
//初始化隊
void InitQueue(SqQueue *Q)
{ Q-front=Q-rear=-1;
}
int EmptyQueue_C(SqQueue *Q)
{//若隊列為空,返回1,否則返回0
if(Q-rear==Q-front) return 1;
else return 0;
}//EmptyQueue_C
// 取對頭元素
char GetQueue_C(SqQueue *Q)
{//若隊列不為空,則返回隊首元素,否則返回NULL
int e;
if(EmptyQueue_C(Q))
{printf(“Queue is empty\n”);
return(0);}
else
{e=Q-datas[(Q-front+1)%MAXSIZE];
return e;}
}//GetQueue_C
//入隊
int EnQueue_C(SqQueue *Q, int e)
{//將元素e插入到隊列中,作為新的隊尾。操作成功返回1,否則返回0
if(Q-front==(Q-rear+1)%MAXSIZE)//隊滿
{printf(“Queue is full.\n”);
return 0;}
else
{Q-rear=(Q-rear+1)%MAXSIZE;
Q-datas[Q-rear]=e;
return 1;}
}//EnQueue_C
//出隊
int DeQueue_C(SqQueue *Q)
{ //刪除隊頭元素,若操作成功返回1,否則返回0
if(EmptyQueue_C(Q))
{printf(“Queue is empty.\n”);
return 0;}
else
{Q-front=(Q-front+1)%MAXSIZE;
return 1;}
}//DeQueue_C
//輸出隊
void PRINT(SqQueue *Q)
{
int i;
if(Q-front!=Q-rear)
{
printf(“當前循環隊列中從頭到尾的元素為:”);
i=Q-front;
while(i!=Q-rear)
{
i=(i+1)%MAXSIZE;
printf(“%d “,Q-datas[i]);
}
}
else
printf(“當前循環隊列為空!”);
putchar(‘\n’);
}
main()
{
SqQueue *Q;
int n;
int i,j,k,s1,s2;
Q=(SqQueue *)malloc(sizeof(SqQueue));
InitQueue(Q);
EnQueue_C(Q,1);
printf(“請輸入楊輝三角的層數:\n”);
scanf(“%d”,n);
for(i=1;i(n-1)*3+2;i++)
printf(” “);
printf(“%-3d\n”,1);
for(i=2;i=n;i++)
{
for(k=0;k(n-i)*3+1;k++)
printf(” “);
for(j=1,s1=0;ji;j++)
{
int s2;
s2=GetQueue_C(Q);
DeQueue_C(Q);
printf(“%-3d”,s1+s2);
printf(” “);
EnQueue_C(Q,s1+s2);
s1=s2;
}
printf(“%-3d”,1);
EnQueue_C(Q,1);
printf(“\n”);
}
}
你試下這個
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/277678.html