根据对角线在代数n阶行列式中的定义,从左上至右下的数归为主对角线,从左下至右上的数归为副对角线。
主对角线和副对角线我都是从上面往下面走的.。。
代码如下:
#include <stdio.h>
void main()
{
float asum=0,bsum=0;
int i,j,n;
printf("输入n阶行列式:");
scanf("%d",&n);
float a[n][n];
printf("输入矩阵的元素:");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
scanf("%f",&a[i][j]);
}
}
j=0;
for(i=0;i<n;i++,j++){
asum+=a[i][j];
}
i=0;
for(j=n-1;j>=0;j--,i++){
bsum+=a[i][j];
}
printf("主对角线和为%f,副对角线和为%f",asum,bsum);
}
void main()
{
float asum=0,bsum=0;
int i,j,n;
printf("输入n阶行列式:");
scanf("%d",&n);
float a[n][n];
printf("输入矩阵的元素:");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
scanf("%f",&a[i][j]);
}
}
j=0;
for(i=0;i<n;i++,j++){
asum+=a[i][j];
}
i=0;
for(j=n-1;j>=0;j--,i++){
bsum+=a[i][j];
}
printf("主对角线和为%f,副对角线和为%f",asum,bsum);
}