满意答案
Wbfiytmorx
2016.02.27
采纳率:43% 等级:10
已帮助:569人
#include"stdio.h"
void main()
{
int magic[5][5]={{17,24,1,8,15},{23,5,7,14,16},{4,6,13,20,22},{10,12,19,21,3},{11,18,25,2,9}};
int i,j;
int sum;
printf("该矩阵为:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%4d",magic[i][j]);
printf("\n");
}
printf("验证每一行:\n");
for(i=0;i<5;i++)
{
printf("第%d行:",i+1);
sum=0;
for(j=0;j<5;j++)
{
if(j<4)
{
printf("%d+",magic[i][j]);
sum+=magic[i][j];
}
if(j==4)
{
printf("%d=",magic[i][j]);
sum+=magic[i][j];
}
}
printf("%d\n",sum);
}
printf("验证每一列:\n");
for(i=0;i<5;i++)
{
printf("第%列:",i+1);
sum=0;
for(j=0;j<5;j++)
{
if(j<4)
{
printf("%d+",magic[j][i]);
sum+=magic[j][i];
}
if(j==4)
{
printf("%d=",magic[j][i]);
sum+=magic[j][i];
}
}
printf("%d\n",sum);
}
printf("\n验证主对角线:\n");
sum=0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
if(i==j&&i<4)
{
printf("%d+",magic[i][j]);
sum+=magic[i][j];
}
if(i==j&&i==4)
{
printf("%d=",magic[i][j]);
sum+=magic[i][j];
}
}
printf("%d\n",sum);
printf("\n验证次对角线:\n");
sum=0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
if(i+j==4&&i<4)
{
printf("%d+",magic[i][j]);
sum+=magic[i][j];
}
if(i+j==4&&i==4)
{
printf("%d=",magic[i][j]);
sum+=magic[i][j];
}
}
printf("%d\n",sum);
printf("\n");
printf("各行各列和与对角线的和都相等,是魔方阵\n");
}追问: 朋友能解释一下吗,看不大明白
追答:哪里不明白?
追问: 下回有不懂的问你哈
追答:可以私信问
00分享举报