C++——只是單純的糾正一下我一直以來的一個錯誤觀點

一直以來,有一個問題一直困擾着我,就是對於一個二維數組而言,到底前一箇中括號裏的是行還是列,猶豫良久,決定自己實踐//反正也不麻煩

所以就人爲作了一道題:

代碼如下:

#include<bits/stdc++.h>
using namespace std;

int main()
{
    char ans[100][100];
    int n;
    while(cin>>n&&n)
    {
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(i<j)
                ans[i][j]='A';
                else
                ans[i][j]='B';
            }
            ans[i][n]='\n';
        }
        
        for(int i=0;i<=n;i++)
        {
            for(int j=0;j<=n;j++)
            {
                cout<<ans[i][j];
            }
        }
    }
    return 0;
}

總體而言就是:如果第一個【】裏的數小就輸出A;否則(大於或等於)就輸出B

下面是輸出:(爲了看着方便大家就多看幾組)

輸入7:

輸出:

BAAAAAA
BBAAAAA
BBBAAAA
BBBBAAA
BBBBBAA
BBBBBBA
BBBBBBB

輸入3:

輸出:

BAA
BBA
BBB

輸入12:

輸出:

BAAAAAAAAAAA
BBAAAAAAAAAA
BBBAAAAAAAAA
BBBBAAAAAAAA
BBBBBAAAAAAA
BBBBBBAAAAAA
BBBBBBBAAAAA
BBBBBBBBAAAA
BBBBBBBBBAAA
BBBBBBBBBBAA
BBBBBBBBBBBA
BBBBBBBBBBBB

好了,我覺得已經很能說明問題了:

也就是說當i<j的時候輸出的是A→輸出A的一個例子就是第0行第1列→

所以說i是行j是列,也就是說→第一個【】裏的是行第二個【】裏的是列


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章