解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
int a[N][N];
int main_sum=0,sub_sum=0,sum;
for(int i=0;i<N;i++)
for(int j=0;j<N;j++)
scanf("%d",&a[i][j]);
//主对角线元素和
for(int i=0;i<N;i++)
main_sum=a[i][i]+main_sum;
//副对角线元素和
for(int i=0,j=N-1;i<N;i++,j--) //行序数从0递加,列序数从N-1递减
sub_sum=sub_sum+a[i][j];
sum=sub_sum+main_sum; //对角线元素总和
if(N%2!=0&&N!=1) //矩阵阶数为奇数时,最中间的一个元素重复,需要减去
sum=sum-a[(N-1)/2][(N-1)/2];
if(N==1) //矩阵阶数为1时单独讨论
sum=a[0][0];
printf("%d",sum);
return 0;
}
0.0分
1 人评分
Tom数 (C语言代码)浏览:736 |
2005年春浙江省计算机等级考试二级C 编程题(3),复杂度最低的方法没有之一!!!!!浏览:819 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:625 |
C语言训练-求函数值 (C语言代码)浏览:939 |
C语言程序设计教程(第三版)课后习题10.1 (Java代码)浏览:1447 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:759 |
最小公倍数 (C语言代码)浏览:863 |
C语言训练-求PI* (C语言代码)浏览:614 |
简单的a+b (C语言代码)浏览:528 |
用筛法求之N内的素数。 (C语言代码)浏览:652 |