问题描述:由键盘输入一个5 X 5阶矩阵,判断该矩阵是否是魔方矩阵。 魔方矩阵的定义:每一行、每一列、每一 5
问题描述:由键盘输入一个5X5阶矩阵,判断该矩阵是否是魔方矩阵。魔方矩阵的定义:每一行、每一列、每一对角线上的元素之和都是相等的。请问有什么错误???#include<s...
问题描述:由键盘输入一个5 X 5阶矩阵,判断该矩阵是否是魔方矩阵。
魔方矩阵的定义:每一行、每一列、每一对角线上的元素之和都是相等的。
请问有什么错误???
#include<stdio.h>
int main()
{
int a[5][5],s[5],t[5];
int i,j,k,l,h,n,m;
for (i=0;i<=4;i++)
{
scanf("%d %d %d %d %d",&a[i][0],&a[i][1],&a[i][2],&a[i][3],&a[i][4]);
}
for (k=0;k<=4;k++)
{
s[k]=0;
for (j=0;j<=4;j++)
{
s[k]=s[k]+a[k][j];
}
}
for (l=0;l<=4;l++)
{
t[l]=0;
for (h=0;h<=4;h++)
{
t[l]=t[l]+a[l][h];
}
}
m=a[0][0]+a[1][1]+a[2][2]+a[3][3]+a[4][4];
n=a[0][4]+a[1][3]+a[2][2]+a[3][1]+a[4][0];
if(s[0]==s[1]==s[2]==s[3]==s[4]==t[0]==t[1]==t[2]==t[3]==t[4]==m==n)
printf("It is a magic square!");
else
printf("It is not a magic square!");
return 0;
} 展开
魔方矩阵的定义:每一行、每一列、每一对角线上的元素之和都是相等的。
请问有什么错误???
#include<stdio.h>
int main()
{
int a[5][5],s[5],t[5];
int i,j,k,l,h,n,m;
for (i=0;i<=4;i++)
{
scanf("%d %d %d %d %d",&a[i][0],&a[i][1],&a[i][2],&a[i][3],&a[i][4]);
}
for (k=0;k<=4;k++)
{
s[k]=0;
for (j=0;j<=4;j++)
{
s[k]=s[k]+a[k][j];
}
}
for (l=0;l<=4;l++)
{
t[l]=0;
for (h=0;h<=4;h++)
{
t[l]=t[l]+a[l][h];
}
}
m=a[0][0]+a[1][1]+a[2][2]+a[3][3]+a[4][4];
n=a[0][4]+a[1][3]+a[2][2]+a[3][1]+a[4][0];
if(s[0]==s[1]==s[2]==s[3]==s[4]==t[0]==t[1]==t[2]==t[3]==t[4]==m==n)
printf("It is a magic square!");
else
printf("It is not a magic square!");
return 0;
} 展开
展开全部
将拆毁if语句信御烂改为滑漏if(s[0]==s[1]&&s[1]==s[2]&&s[2]==s[3]&&s[3]==s[4]&&s[4]==t[0]&&t[0]==t[1]&&t[1]==t[2]&&t[2]==t[3]&&t[3]==t[4]&&t[4]==m&&m==n)即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没看出什么错误呀
追问
对啊!!!可是输出结果总是It is not a magic square!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询