分享
三行代码  ›  专栏  ›  技术社区  ›  OvercomeSupreme

如何将一个由5个值1D组成的数组打印为列?

  •  0
  • OvercomeSupreme  · 技术社区  · 5 月前

    我有一个一维的整数值数组,我需要把它打印成列。

    1 1 1
    1 1
    

    我该怎么做? 例如,我的尝试是:

    int main(){
    
    int array[5] = {1,1,1,1,1};
    
      cout<<"array printed in the form of columns: "<<endl;
    
       for ( int i = 0; i < 5; i++ ){
    
             cout<<setw(3)<< array[i]<<endl<<setw(3)<<array[i];
          }  
        return 0;
    }
    
    3 回复  |  直到 5 月前
        1
  •  0
  •   cigien    5 月前

    你只需写两个循环:

    for ( int i = 0; i < 3; ++i ) {
             cout << setw(3) << array[i];   // first row
    }
    
    cout << endl;       // next row
    
    for ( int i = 3; i < 5; ++i ) {
             cout << setw(3) << array[i];   // second row 
    }
    
        2
  •  1
  •   Akais    5 月前

    下面是一个较长数组的示例:

    int main()
    {
    
        int colNum = 3;
    
        int array[7] = {1,1,1,1,1,1,1};
        int len = (sizeof(array)/sizeof(array[0]));
    
        cout<<"array printed in the form of columns: " << endl;
    
        for ( int i = 0; i < len ; i++ )
        {
    
            cout << array[i];
            if ((i+1)%colNum==0) cout << '\n';
        }
        return 0;
    }
    
        3
  •  0
  •   cigien    5 月前

    如果作为列,则

     for (int i=0; i<5; i++) {
          cout << a[i] << endl;
     }
    

    就足够了。

     for (int i=0; i<5; i++) {
          cout << a[i] << " ";
     }
    

    就够了。或者,可以使用指针

    int * p_array = array; 
    

    然后,在循环中

    cout << *(p_array + i) << " ";
    

    这是您未经编辑的问题:-)对于新输出->您可以按照 Cigien公司