c++编程,打印杨辉三角形

如题所述

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>

using namespace std;
const int maxn=1000+10;

int a[2][maxn]; 
int main()
{
printf("请输入杨辉三角层数:");
int cur=0,n;cin>>n;
printf("\n");
for(int i=1;i<=n;i++,cur^=1)
{
for(int j=1;j<=i;j++)
   {
if(j==1||j==i) a[cur][j]=1;
else a[cur][j]=a[cur^1][j-1]+a[cur^1][j];
   }
   for(int j=1;j<=i;j++)
     printf("%d ",a[cur][j]);
   printf("\n");
}
return 0;
}

 顺便说一下层数最好少点 多了int类型会溢出

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-19
#include <stdio.h>
#define N 6
int main( ){
    int i,j;
    int a[N][N];
    for (i=0;i<N;i++)
    {
        a[i][0] = 1; //开始位
        printf("%4d",a[i][0]);
        for (j=1;j<=i;j++)
        {  
            if(i==j) //最后位
                a[i][j] = 1;
            else
                a[i][j] =a[i-1][j-1]+a[i-1][j];
            printf("%4d",a[i][j]); 
        }
        printf("\n"); //输出一行后,换行
    }  
    return 0;
}

本回答被网友采纳
相似回答