| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1897 人关注过本帖
标题:新人写了一组代码,不知道问题出在哪里。
取消只看楼主 加入收藏
ergg
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2016-5-20
结帖率:80%
收藏
 问题点数:0 回复次数:7 
新人写了一组代码,不知道问题出在哪里。
目的是形成这样一组数列,中间为1,然后慢慢像外散开。。写出这样的[100][100]的矩阵。

                                   
                            16 15  14  13                                 
                            5   4   3  12
                            6   1   2  11                                      
                            7   8   9  10         

#include <stdio.h>

int main(int argc, char *argv[]) {
      int a[100][100];
      int o,p;  
      int i,j=1,q=1,c=1,d=1;
      int x=49,y=49;
      int n=1;   
      
      
        for(o=1;o<100;o++)
      for(p=1;p<100;p++)
      a[o][p]=0;          //让矩阵的每个数字都为0
      a[x][y]=1;        //矩阵中间的数字为1

     for(i=1;i<100;i++)  //循环100次
         if(i%2){   
              while(j<=i) {n=n+1;x=x+1;a[x][y]=n;j=j+1;}  //右
              while(q<=i) {n=n+1;y=y+1;a[x][y]=n;q=q+1;}  //上
           }         
         else{
              while(c<=i) {n=n+1;;x=x-1;a[x][y]=n;c=c+1; }//左
              while(d<=i) {n=n+1;;y=y-1;a[x][y]=n;d=d+1; }//下
 

      
        for(o=1;o<100;o++)
        for(p=1;p<100;p++)
          printf("%4d",a[x][y]);printf("\n");  //显示所有数字
            }
 
不知道问题出在哪了,希望得到一些指导。。
搜索更多相关主题的帖子: include 
2016-07-14 05:15
ergg
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2016-5-20
收藏
得分:0 
#include <stdio.h>

int main(int argc, char *argv[]) {
      int a[100][100];
      int i;
      int j=1,q=1,c=1,d=1;
      int x,y;
      int n=1;   
      
        for(x=0;x<100;x++)
      for(y=0;y<100;y++)
      a[x][y]=0;          //全部0にする
      a[49][49]=1;        //真ん中の数字を0にする
         
     for(i=1;i<100;i++) {

         if(i%2){   
              while(j<=i) {n=n+1;x=x+1;a[x][y]=n;  j++;}
              while(q<=i) {n=n+1;y=y+1;a[x][y]=n;  q++;}
          }  

         else{  
              while(c<=i) {n=n+1;;x=x-1;a[x][y]=n;  c++;}
              while(d<=i) {n=n+1;;y=y-1;a[x][y]=n;  d++;}
          }
      }
      for(x=0;x<100;x++)
      for(y=0;y<100;y++)
      printf("%5d",a[x][y]);
         
         
}
2016-07-14 18:01
ergg
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2016-5-20
收藏
得分:0 
回复 2楼 wanglianyi1
非常感谢,确实{}没有加。。习惯也确实很不好。。

我整理好之后还是不能运行,能帮我再看一下吗?(写在三楼) 谢谢!
2016-07-14 18:02
ergg
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2016-5-20
收藏
得分:0 
回复 3楼 rjsp
非常感谢回复。 但是觉得好难啊。。我们老师只教过loop...

我把code整理了一下放在四楼,能帮我再看一下吗? 谢谢!
2016-07-14 18:04
ergg
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2016-5-20
收藏
得分:0 
回复 9楼 书生牛犊
谢谢!非常受用!

还是想问几个问题。。

1,我把100*100的行列打出来了,但是显示的是一团糟那种。。 怎么确定自己打出来的数学是对的呢?

2,看到数字里面夹着很多的“0”,不知道为什么会有这么多“0”出现?不应该啊。。
2016-07-15 16:25
ergg
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2016-5-20
收藏
得分:0 
回复 9楼 书生牛犊
我知道了!! 谢谢!!!
2016-07-15 16:39
ergg
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2016-5-20
收藏
得分:0 
回复 12楼 晓益
好滴, 谢谢!!
2016-07-20 14:17
ergg
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2016-5-20
收藏
得分:0 
回复 7楼 linlulu001
已经搞定了,非常感谢!!
2016-07-20 14:18
快速回复:新人写了一组代码,不知道问题出在哪里。
数据加载中...
 
   



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

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