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;
} 展开
和副对角线元素和以及非对角线元素和。
#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;
} 展开
1个回答
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询