c语言请教,我的代码哪里错了?

程序功能:输入一个正整数n(1≤n≤6),再输入n阶方阵a,分别计算方阵主对角线元素和副对角线元素和以及非对角线元素和。#include<stdio.h>intmain(... 程序功能:输入一个正整数n(1≤n≤6),再输入n阶方阵a,分别计算方阵主对角线元素
和副对角线元素和以及非对角线元素和。
#include <stdio.h>
int main(void)
{
int i,j,m,n,a[6][6],sum[3];
printf("输入一个正整数n(1<=n<=6):");
scanf("%d",&n);
printf("输入%d行%d列整数:\n",n,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[i]=0;
for(j=0;j<n;j++)
{
if(i==j) sum[0]+=a[i][j];
if(i+j==n-1) sum[1]+=a[i][j];
if(i!=j&&i+j!=n-1) sum[2]+=a[i][j];
}
}
printf("主对角线元素和=%d\n",sum[0]);
printf("副对角线元素和=%d\n",sum[1]);
printf("非对角线元素和=%d\n",sum[2]);
return 0;
}
展开
 我来答
匿名用户
2017-12-05
展开全部
#include <stdio.h>
int main(void)
{
int i,j,m,n,a[6][6],sum[3]={0,0,0};//改动 
printf("输入一个正整数n(1<=n<=6):");
scanf("%d",&n);
printf("输入%d行%d列整数:\n",n,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[i]=0;去掉这句 
for(j=0;j<n;j++)
{
if(i==j) sum[0]+=a[i][j];
if(i+j==n-1) sum[1]+=a[i][j];
if(i!=j&&i+j!=n-1) sum[2]+=a[i][j];
}
}
printf("主对角线元素和=%d\n",sum[0]);
printf("副对角线元素和=%d\n",sum[1]);
printf("非对角线元素和=%d\n",sum[2]);
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式