code部分就不改了,先确定在下的认知是否正确噜~~
依照范例看来,只要遇到有一列只有一个数值,然后那个数值为0的时候,要终止程式。
那么这个可以用传说中的脏雪球理论噜XDD
依照code的写法,一次只读一个数值进来
那么在读到数值的判定时,多加上是否为0的判断。
如果第一位数值是0,则此列丑一。
之后如果那一列就没其他数值的话,那就直接结束程式。
不知这样的流程,是否符合楼主的需求?
如果是的话,那code可能可以像下面那样改:
复制程式
//节录
  bool IsHeadZero = false;
  int nColumnNum = 0;
  while(...)
  {
      fscanf(input,"%d",&s[i]);
      if (s[i] == 0) {
        IsHeadZero = true; };
      i++;
      fscanf(input,"%c",&temp);
      if(temp!=' ')
      {
          for(int j=i-1;j>=0;j--)
          {
              printf("%d ",s[j]);
          }            
          printf("\n");
      if ( IsHeadZero && i == 1) 
      {
          break;       
       }else{
          IsHeadZero = false;
       }
       i=0;
    }  
      
    //以下省略
  }