| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 401 人关注过本帖
标题:按自己想法写了个输出魔方数的。可是只能对付3阶的。。求指教。。
取消只看楼主 加入收藏
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
结帖率:100%
收藏
 问题点数:0 回复次数:2 
按自己想法写了个输出魔方数的。可是只能对付3阶的。。求指教。。
所谓魔方数 就是横竖斜加起来和相等。。   

我的代码是这样的、

#include <stdio.h>
int main(void)
{
    int a[16][16]={0},i=0,j,e=1,s,n;
    printf("请输入n的值(1~15):");
    scanf("%d",&n);
    j=n/2;
    a[i][j]=e;
    for(s=1;s<=n*n-1;s++)
    {
        i--;j++;e++;
        if(i<0) i=n-1;
        if(j>n-1) j=0;
        {if(a[i][j]!=0)
            if(i==n-1&&j==0) {i=1;j=n-1;}
            else {i+=2;j--;}
        if(i>n-1) i=i-n+1;
        if(j<0) j=-j;}
        
        a[i][j]=e;
    }
    for(i=0;i<=n-1;i++)
    {{for(j=0;j<=n-1;j++)
            printf("%6d",a[i][j]);}
      putchar('\n');
    }
    return 0;
}



对于输入n=3没有问题, n=6的时候就有问题了,12和13不见了,我脑中按步骤算了下发现没问题啊, 为什么就变成其他数了。。。

求解。。。。。。完全凌乱了

搜索更多相关主题的帖子: include 
2012-10-07 10:35
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:0 
已解决。。原来偶数阶没法形成魔方数的样子、、、、、

去追寻更高的技术领域。永不停止。
2012-10-07 10:56
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:0 
有偶数 但是原理不一样好像。。。= =  继续看书了

去追寻更高的技术领域。永不停止。
2012-10-07 10:58
快速回复:按自己想法写了个输出魔方数的。可是只能对付3阶的。。求指教。。
数据加载中...
 
   



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

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