c语言 输入一个5行5列的矩阵,计算该矩阵最外圈元素之和。我这样做哪里错了
3个回答
展开全部
三个错误:①没有对数组进行赋初值;②C语言中,判断是否等于应该写“==”,“=”是赋值符号,这是新手最容易犯的错误之一;③在相加时,二维矩阵四个角上的元素都多加了一次,所以要减掉。
#include <stdio.h>
int main()
{
int a[5][5];
int i,j,sum=0;
printf("请输入5X5矩阵:\n");
//对二维数组赋初值
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(i==0)
sum=sum+a[i][j];
if(j==0)
sum=sum+a[i][j];
if(i==4)
sum=sum+a[i][j];
if(j==4)
sum=sum+a[i][j];
}
}
//四个角的元素都多算了一次,所以要减掉
sum=sum-a[0][0]-a[0][4]-a[4][0]-a[4][4];
printf("外圈之和为:%d\n",sum);
}
展开全部
四角加重复了,
if(i=0||j=0||i=4||j=4)
sum+=a[i][j];
if(i=0||j=0||i=4||j=4)
sum+=a[i][j];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逻辑有错!如果i==j,如对[0][0]、[4][4]不就加了两次?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询