直播带货服务

二维数组及多维数组应用案例

前面介绍的数组只有一个下标,称为一维数组,其数组元素也称为单下标变量。在实际问题中有很多量是二维的或多维的,因此C语言允许构造多维数组多维数组元素有多个下标,以标识它在数组中的位置,所以也称为多下标变量。本小节只介绍二维数组,多维数组可由二维数组类推而得到。

二维数组及多维数组应用案例

【案例描述】

编程实现:输入一个三阶行列式数据(均为整数,逐行输入),输出这个行列式的值。

输入格式:1 2 3 4 5 6 7 8 9

说明:对应行列式为

二维数组及多维数组应用案例

输出格式:0

【案例分析】

求解问题基本思路是:

1、定义二维数组存储行列式的值:int a[3][3];

2、利用循环读取行列式数据

3、利用公式计算行列式的值:主对角线上三组数据的积的和减去副对角线上三组数据的积的和。

二维数组及多维数组应用案例

【参考代码

main()

{ int a[3][3],i,j,s;

  for(i=0;i<3;i++)

      for(j=0;j<3;j++)

           scanf("%d",&a[i][j]);

s=a[0][0]*a[1][1]*a[2][2]+a[1][0]*a[2][1]*a[0][2]*a[0][1]*a[1][2]*a[2][0];

s-=a[0][2]*a[1][1]*a[2][0]+a[0][1]*a[1][0]*a[2][2]+a[0][0]*a[1][2]*a[2][1];

printf("%d",s);

}


【说明】

也可以使用一维数组求解。参考代码

main()

{ int a[9],i,s;

  for(i=0;i<9;i++)scanf("%d",&a[i]);

  s=a[0]*a[4]*a[8]+a[2]*a[3]*a[7]+a[1]*a[5]*a[6];

  s-=a[2]*a[4]*a[6]+a[1]*a[3]*a[8]+a[0]*a[5]*a[7];

  printf("%d",s);

}


© Copyright 六六互联.Some Rights Reserved.www.ic.vip