自学内容网 自学内容网

C语言| 二维数组的应用II

C语言|二维数组的应用 I

二维数组的应用:杨辉三角中的等腰三角形

选择性输出,只输出 i>=j 的元素。
可以采取边赋值边输出的方式,优化程序。
【过程分析】
1 定义常量M ,为二维数组的行号列号
2 用for循环给数组赋值,内嵌一个if语句赋值
if语句 条件1 (j==0) || (i==j),令数组元素等于1
       条件2 其他位置上的数字都是它“上面那个数字”和“左上那个数字”之和。
       a[i][j] = a[i-1][j]+a[i-1][j-1];
3 用for循环输出数组,内嵌2个for循环输出
第一个for循环,输出空格
第二个for循环,输出数组元素

【程序代码】

#include <stdio.h>
#define M 8

int main(void)
{
    int i, j;
    int count; //给输出空格缩进时的计数
    int a[M][M] = {0};

    //用for循环给数组赋值
    for(i=0; i<M; i++)
    {
        //只给数组赋值一半,条件为j<=i
        for(j=0; j<=i; j++)
        {
            if((j==0) || (i==j))
            {
                a[i][j] = 1;
            }
            else
            {
                a[i][j] = a[i-1][j]+a[i-1][j-1];
            }
        }
    }
    //用for循环输出数组
    for(i=0; i<M; i++)
    {
        //空格进行缩进用for循环
        for(count=0; count<=M-1-i; count++)
        {
            printf("\x20\x20");
        }

        for(j=0; j<=i; j++)
        {
            printf("%-3d\x20", a[i][j]);
        }

        printf("\n");
    }

    return 0;
}
/*
在VC++6.0中的输出结果为
----------------------------------

----------------------------------
*/


原文地址:https://blog.csdn.net/qq_40555264/article/details/145162797

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!