程序结构好复杂,为什么要这么多层循环?
t>j&&d>t&&e>d 是什么意思?看看这个条件有没有写错。
debug的时候,进入if时j,d,t,e的值是多少?顺便说一句,拜托以后不要写这么多的惊叹号,没人会喜欢的。

解决方案 »

  1.   

    DEBUG 没有错。
    void main()
    {
    int a[9][9];
    int j,t,d,e,q1;
    static int b[13]={2412,2417,2422,2427,2432,2437,2442,2447,2452,2457,2462,2467,2472}; 
        q1=1;
        for(j=0;j<13;j++)
        for(t=0;t<13;t++)
        for(d=0;d<13;d++)
        for(e=0;e<13;e++){
    if(t>j&&d>t&&e>d){
    a[1][q1]=b[j];
    a[2][q1]=b[t];
    a[3][q1]=b[d];
    a[4][q1]=b[e];
    q1++;
    }
            else q1=q1;
        }
    }
      

  2.   

    我不明白 
    else q1 = q1;
    究竟是什么意思
    如果这是你的原意那么数组 a[][]应该很大很大,
    否则,就会线你所说的那样,你可以看看
    当a[1][1],a[2][1],a[3][1]都变成为2212时,
    q1的值是不是为1(我想应该不会,可能是14或15之类)
    要么,你可以 else q1 = 1; 试一试 !
      

  3.   

    To hatname(徒手婴儿): 
    可我运行你的程序,等循环全部结束后,结果a[1][1]=a[2][1]=a[3][1]=a[4][1]=2412呀,
    中间过程时倒是对的。
      

  4.   

    to ccxx 
      我根本就不知道这个程序是干什么的。完全是抄你的。测试过了贴出来的
      J T D E 
      0 1 2 3
      0 2 3 4 
      。
      0 10  11  12
      1 2 3 4 
      
      1 3 4 5 
      。
      1 10 11 12
      。
      。
      9 10 11 12
      
      

  5.   

    可我的debug是:
    j t d e
    0 1 2 3
    0 1 2 4
    0 1 2 5



      

  6.   

    我没有运行你的程序,你的程序可以简化成如下:
    static int b[13]={2412,2417,2422,2427,2432,2437,2442,2447,2452,2457,2462,2467,2472}; 
            {
            q1=1;
            for(j=0;j<10;j++)
            for(t=j+1;t<11;t++)
            for(d=t+1;d<12;d++)
            for(e=d+1;e<13;e++)
            { a[1][q1]=b[j];
              a[2][q1]=b[t];
              a[3][q1]=b[d];
              a[4][q1]=b[e];
              q1++;
            }
    结果应该是:a[1][1]=b[1],a[2][1]=b[2],a[3][1]=b[3]