| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 366 人关注过本帖
标题:求大神找错
只看楼主 加入收藏
羽墨离殇
Rank: 2
等 级:论坛游民
帖 子:13
专家分:11
注 册:2012-3-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
求大神找错
#include <stdio.h>
#include <stdlib.h>
void  Readnum(int num[5][5]);
int   Judge(int num[5][5]);

int main()
{
    int n,num[5][5];
    Readnum(num);
    n=Judge(num);
    if(n)
    printf("It is a magic square!");
    else
    printf("It is not a magic square!");
    return 0;
}

void Readnum(int num[5][5])
{
    int i,j;
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            scanf("%d",&num[i][j]);
        }
    }
}

int   Judge(int num[5][5])
{
    int y,sum1,sum2,sum3,sum4,i,j,sum;
    sum1=0;sum2=0;sum3=0,sum=0;
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            sum=sum+num[i][j];
        }
    }
    y=sum%5;
    if(y!=0)
    return 0;
    y=sum/5;
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            sum1=sum1+num[i][j];
        }
        if(sum1!=y)
        return 0;
        else sum1=0;

    }
    for(j=0;j<5;j++)
    {
        for(i=0;i<5;i++)
        {
            sum2=sum2+num[i][j];

        }
        if(sum2!=y)
        return 0;
        else sum2=0;
    }
    for(i=0;i<5;i++)
    {
        sum3=sum3+num[i][i];
    }
       if(sum3!=y)
        return 0;
    for(i=4;i>0;i--)
    {
        sum4=sum4+num[4-i][i];

    }
     if(sum4!=y)
     return 0;
    return 1;
}
实例:输入举例1:

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

输出举例1:

It is a magic square!

输入举例2:

2 24 1 8 15

23 5 4 14 16

4 6 13 20 22

10 11 19 21 3

11 18 1 2 9

输出举例2:

It is not a magic square!
搜索更多相关主题的帖子: void include return 
2012-05-08 18:02
星海浮沉
Rank: 2
等 级:论坛游民
帖 子:20
专家分:28
注 册:2012-5-3
收藏
得分:1 
能不能说下你这个程序要达到什么目的?又出现了什么问题?
2012-05-08 19:55
羽墨离殇
Rank: 2
等 级:论坛游民
帖 子:13
专家分:11
注 册:2012-3-10
收藏
得分:0 
检验一个方阵是否为魔方矩阵
2012-05-08 21:37
S_Ringo
Rank: 4
来 自:歌舞伎町
等 级:业余侠客
帖 子:94
专家分:230
注 册:2012-4-15
收藏
得分:3 
请问出现了什么问题?
程序倒是看懂了,顶多就是个sum4未初始化而已……
(我觉得你应该是把sum4写成sum了,反正sum和sum4这两个总有一个没有初始化)
看你的输出样例没问题啊……
2012-05-08 22:41
lc5491137
Rank: 2
等 级:论坛游民
帖 子:37
专家分:70
注 册:2012-3-5
收藏
得分:16 
两个问题,第一是sum4未初始化,第二是
for(i=4;i>0;i--)
    {
        sum4=sum4+num[4-i][i];

    }
这里的i要>=0
2012-05-09 13:45
快速回复:求大神找错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017552 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved