| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 435 人关注过本帖
标题:我按着课本抄了一个求魔方阵的程序,但是执行结果为什么不对啊?求高人指点
只看楼主 加入收藏
meidireshuiq
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-9-9
结帖率:85.71%
收藏
已结贴  问题点数:10 回复次数:5 
我按着课本抄了一个求魔方阵的程序,但是执行结果为什么不对啊?求高人指点
求魔方阵:
#include<stdio.h>
void main()
{
    int a[15][15],i,j,k,p,n;
    p=1;
    while(p==1)
    {
        printf("enter n(n=1 to 15):");
        scanf("%d",&n);
        if((n!=0)&&(n<=15)&&(n%2!=0))
            p=0;
    }
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            a[i][j]=0;
    j=n/2;
    a[0][j]=1;
    for(k=2;k<=n*n;k++)
    {   i=i-1;j=j+1;
    if((i<0)&&(j>n-1))
       {i=i+2;j=j-1;}
    else
       {if(i<0)i=n-1;
        if(j>n-1)j=0;}
    if(a[i][j]==0)
        a[i][j]=k;
    else
       {
           i=i+2;
           j=j-1;
           a[i][j]=k;
        }
    }
    for(i=0;i<n;i++)
    {
        for(j=0;i<n;j++)
            printf("%5d",a[i][j]);
        printf("\n");
    }
}
执行是出来的结果:
enter n(n=1 to 15):5
   17   24    1    8   15-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460   23    5    7   14   16-858993460
-858993460-858993460-858993460-858993460-858993460-858993460-858993460-858993460
-858993460    4    6   13   20   22-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460   10   12   19   21    3
-858993460-858993460-858993460-858993460-858993460-858993460-858993460-858993460
-858993460-858993460   11   18   25    2    9-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8589
93460-858993460-858993460-858993460-858993460-858993460242404415083480    165695
126562032997162644    0    02147315712    0    0    02424832    02423984    4242
4112150774961001253000    024240521508303924240641991241068214731571224241282000
10750921473157122000715929    0    02147315712    0    0    02424076    0   -119
998230855402529    024241522000107464150776462147315712    0    0    0    015077
6462147315712    0    0    0    0    0    0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0    0请按任意键继续. . .
搜索更多相关主题的帖子: include 课本 
2011-09-13 10:35
落叶深蓝色
Rank: 8Rank: 8
来 自:山东
等 级:蝙蝠侠
帖 子:319
专家分:807
注 册:2010-12-8
收藏
得分:0 
0.0
2011-09-13 11:02
meidireshuiq
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-9-9
收藏
得分:0 
回复 2楼 落叶深蓝色
什么意思啊?
2011-09-13 11:06
xd1103121524
Rank: 2
等 级:论坛游民
帖 子:27
专家分:49
注 册:2011-8-29
收藏
得分:10 
由于你的粗心,抄错了一个变量。。。    }
    for(i=0;i<n;i++)
    {
        for(j=0;i<n;j++)
            printf("%5d",a[i][j]);
        printf("\n")
改成:

    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            printf("%5d",a[i][j]);
        printf("\n")

然后试试。。。。。。。。。。
2011-09-13 11:10
xd1103121524
Rank: 2
等 级:论坛游民
帖 子:27
专家分:49
注 册:2011-8-29
收藏
得分:0 
我自己改了一个,你也可以试试。。
#include<stdio.h>
int  main()
{
     int a[15][15],i,j,k,p,n;
     p=1;
     while(p==1)
         {
        printf("enter n(n=1 to 15):");
        scanf("%d",&n);
        if((n!=0)&&(n<=15)&&(n%2!=0))
            p=0;
         }
    for(i=0;i<n;i++)
    for(j=0;j<n;j++)
        a[i][j]=0;
     j=n/2;
     a[0][j]=1;
     i=0;
     for(k=2;k<=n*n;k++)
    {
   
     if((k-1)%n==0)
     {
         i=i+1;   //行数加一;
         j=j;     //列数不变;
     }

     else
     {
        i=i-1;  //行数减一;
        j=j+1;  //列数加一;
        

    if(i<0) i=n-1;
    if(j>n-1) j=0;

    }


     a[i][j]=k;
   
     
    }



     for(i=0;i<n;i++)
         {
        for(j=0;j<n;j++)
            printf("%5d",a[i][j]);
        printf("\n");
         }

     return 0;
}
2011-09-13 11:11
meidireshuiq
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-9-9
收藏
得分:0 
回复 4楼 xd1103121524
谢谢了 原来是这出问题了
2011-09-13 11:19
快速回复:我按着课本抄了一个求魔方阵的程序,但是执行结果为什么不对啊?求高人 ...
数据加载中...
 
   



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

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