输入nxn阶矩阵,用函数编程计算并输出其两天对角线上的各元素之和。要求:使用C语言编写

 我来答
似风中枯萎
推荐于2017-11-25
知道答主
回答量:13
采纳率:0%
帮助的人:14.6万
展开全部
#include<stdio.h>
#define LEN 100

int main()
{
int i,j,n,sum=0;
int a[LEN][LEN];
printf("请输入矩阵的阶数n:");
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]); //初始化数组
for(i=0;i<n;i++)
sum+=a[i][i];
for(j=n-1;j>=0;j--)
sum+=a[n-j-1][j]; //求出两条对角线上的数之和
if(n%2==0)
printf("%d",sum); //如果阶数是偶数则对角线上的数没有重复计算直接输出sum
if(n%2==1)
printf("%d",(sum-a[n/2][n/2])); //如果阶数是奇数则多算对角线中间一个数,在减去即可
return 0;
}

楼上的回答不是很完善,求采纳!0(^_^)0
来自:求助得到的回答
NE_Z
2012-12-13 · TA获得超过1737个赞
知道小有建树答主
回答量:1687
采纳率:55%
帮助的人:572万
展开全部
#include <stdio.h>
#define N 4
int main(void)
{
int i,j;
int a[N][N];
for(i=0;i<N;++i)
for(j=0;j<N;++j)
scanf("%d",&a[i][j]);
int sum=0;
for(i=0;i<N;++i)
sum+=a[i][i];
for(j=N-1;j>=0;--j)
sum+=a[N-j-1][j];
printf("%d\n",sum);
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式