码迷,mamicode.com
首页 > 编程语言 > 详细

C语言之基本算法35—数组上三角之积 主对角之积 副对角之积

时间:2015-07-14 06:15:12      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:c语言   二维数组   数组运算   

//数组算法
/*
=============================================================
题目:求四阶矩阵上三角之积,主对角之积,副对角之积:
如:
8  3  6  5
0  4  3  2
0  6  1  5
7  0  0  2
上三角之积为:172800
主对角之积为:64
负对角之积为:630
=============================================================
*/
#include<stdio.h>
void main()
{
int i,j;
int ssj=1,zdj=1,fdj=1;
int a[4][4];
printf("输入4*4矩阵:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("输出矩阵:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%3d  ",a[i][j]);
printf("\n");
}
printf("输出上三角之积:");
for(i=0;i<4;i++)
for(j=i;j<4;j++)
ssj*=a[i][j];
printf("%d\n",ssj);

printf("主对角线之积:");
for(i=0;i<4;i++)
zdj*=a[i][i];
printf("%d\n",zdj);

printf("副对角线之积:");
for(i=3;i>=0;i--)
fdj*=a[i][3-i];
printf("%d\n",fdj);
}
/*
=============================================================
评:

上三角是主对角线上面的三角形,其条件应为:行从0到n-1,列从对应行数到n-1;即

(i=0;i<=n-1;i++) (j=i;j<=n-1;j++);主对角是从a[0][0]到a[n-1][n-1]的连线,其条件为:

行从0到n-1,列=行,(i=0;i<n-1;i++)对应乘积为a[i][i];同理,负对角是从a[n-1][0]到

a[0][n-1]的连线,其条件为:行从n-1到0,列=n-1-行,(i=n-1;i>=0;i--),乘积项为

a[i][n-1-i];分析清楚这些就容易解题了!其实这个算法可以拓展到任意阶方阵的,读

者有兴趣可以自己完成!

=============================================================
*/


版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言之基本算法35—数组上三角之积 主对角之积 副对角之积

标签:c语言   二维数组   数组运算   

原文地址:http://blog.csdn.net/lzx19901012/article/details/46871205

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!