0
点赞
收藏
分享

微信扫一扫

实验08---7-06 求二维数组周边元素的累加和

杨辉三角是南宋杰出数学家杨辉在其著作《详解九章算法》提出的表示二项式展开后的系数构成的三角图形。例如,n=5,则杨辉三角如输出样例所示。输入一个整数n,输出n行的杨辉三角形。

输入格式:
输入数据有多组,每组1个整数n(1≤n≤10),一直处理到文件尾。

输出格式:
对于每个n,输出n行杨辉三角形。每个数据的输出为5个字符宽度,具体见输出样例。

输入样例:
5
输出样例:

    1  
    1    1  
    1    2    1  
    1    3    3    1  
    1    4    6    4    1

自己写的

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int arr[10][10]={1};
    int n,i,j;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<n;i++)
        {
            for(j=0;j<=i;j++)
            {
                if(j==0)
                {
                    arr[i][j]=1;
                }
               
                
                if(i>=1&&j>0)
                {
                    arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
                }
            }
        }
        for(i=0;i<n;i++)
        {
            for(j=0;j<=i;j++)
            {
                printf("%5d",arr[i][j]);
            }
            printf("\n");
        }
    }
    
    return 0;
}

老师写的

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int main()
{
    int n;
    while (scanf("%d", &n) != EOF)
    {
        int a[n][n];
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j <= i; j++)
            {
                if (j == 0 || i == j)
                {
                    a[i][j]=1;
                }
                else
                {
                    a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
                }
            }
        }
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                if (j <= i)
                    printf("%5d", a[i][j]);
            }
            printf("\n");
        }
    }
    return 0;
}
举报

相关推荐

0 条评论