| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 301 人关注过本帖
标题:求大神帮我看看这个程序错在哪里。。。大神说标题要长~~~~~
只看楼主 加入收藏
a442841609
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-11-19
结帖率:0
收藏
 问题点数:0 回复次数:5 
求大神帮我看看这个程序错在哪里。。。大神说标题要长~~~~~
程序代码:
 int main()
  {
    int n;
    scanf("%d",&n);
    int a[10][10]={0};
    int t=1, b=0,c=n-1;
   
    while(t<n*n)   ←     去掉这个循环语句的时候程序能运行。。。但是有这个循环之后就无法输出数据了。。为什么。。。跪求大神指教
    {
    while(b<=n-2&&!a[b][c])
     {a[b][c]=t;++t;b++;}
     while(c>=1&&!a[b][c])
      {a[b][c]=t;++t;c--;}
      while(b>=1&&!a[b][c])
       {a[b][c]=t;++t;b--;}
      while(c<=n-2&&!a[b][c])
       {a[b][c]=t;++t,c++;}
      
    }
       int x=0,y;
       for(x;x<=n-1;x++)
        {
         for(y=0;y<=n-1;y++)
          {
            printf("%4d",a[x][y]);       
          }   
          printf("\n");
         
        }
     
    system("pause");
    return 0;
   
           
  }
2012-12-18 11:15
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:0 
虽然程序不长,但是还是加上注释,增加程序的课阅读性。
明显楼主陷入了死循环 。。。

有心者,千方百计;无心者,千难万难。
2012-12-18 12:07
daniel_
Rank: 5Rank: 5
等 级:职业侠客
帖 子:212
专家分:307
注 册:2012-11-13
收藏
得分:0 
楼主先把你的需求明确的说一下

我天你怎么用了这么多的while
2012-12-18 12:28
daniel_
Rank: 5Rank: 5
等 级:职业侠客
帖 子:212
专家分:307
注 册:2012-11-13
收藏
得分:0 
#include <stdlib.h>
#include <stdio.h>

int main()
  {
    int n;
    printf("please input a number:\n");
    scanf("%d",&n);
    int a[10][10]={0};
    int t = 1;
    int b = 0;
    int c = 0;

    c = n-1;
   
   // while(t < n*n)   //←     去掉这个循环语句的时候程序能运行。。。但是有这个循环之后就无法输出数据了。。为什么。。。跪求大神指教
    {
        while(b<=n-2 && !a[b][c])
        {
            a[b][c] = t;
            ++t;
            b++;
        }
         while(c>=1 && !a[b][c])
        {
            a[b][c] = t;
            ++t;
            c--;
         }
        while(b>=1 && !a[b][c])
       {
           a[b][c]=t;
           ++t;
           b--;
        }
        while(c<=n-2 && !a[b][c])
       {
           a[b][c] = t;
           ++t;
           c++;
        }
      
    }
       int x =0;
       int y = 0;

       for(x = 0;x <= n-1;x++)
        {
         for(y = 0;y <= n-1;y++)
          {
            printf("%4d ",a[x][y]);      
          }   
          printf("\n");
        }
     
    system("pause");
    return 0;
            
  }
2012-12-18 12:42
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
收藏
得分:0 
你这个程序涌过来干么的啊

菜鸟也疯狂
2012-12-18 12:43
a442841609
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-11-19
收藏
得分:0 
就是把N*N个数以蛇行方式输出。比如当N=4时输出10 11 12 1
                                            9  16 13 2
                                            8  15 14 3
                                            7  6  5  4
2012-12-23 12:39
快速回复:求大神帮我看看这个程序错在哪里。。。大神说标题要长~~~~~
数据加载中...
 
   



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

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