1樓:網友
二維陣列實際上就是按照行和列組織的資料,用行和列的編號可以訪問。
比如a[10][10]這個陣列,用a[5][7]即訪問其中第5行第7列的那個元素(注意有第0行和第0列)
在程式中要訪問二維陣列時,我們經常用迴圈巢狀的方式,道理是:
假設還是int a[10][10]; 我用乙個變數j當迴圈變數寫:for ( j=0;j<10;j++ 這時候在j迴圈體中,每次迴圈j分別等於0,1,2,3,..9,如果在迴圈體中寫a[0][j]=0;就是每次迴圈會分別訪問a[0][0],a[0][1],.
a[0][9],也就是陣列a的第0行的所有資料;
如果想訪問第1行呢,我迴圈體中只能寫a[1][j]=0;了,如果那個1也能發生規律變化就能訪問所有行;
那麼我們用i迴圈:for ( i=0;i<10;i++ 同理i迴圈體中i也會分別每次迴圈等於0,1,2,..9。
再來看巢狀情況:for ( i=0;i<10;i++
其中的for ( j=0;j<10;j++ a[i][j]=0;就是上邊說的i迴圈體,在i迴圈體中每次i迴圈i的取值將會加1,從0變到9。
也可以這樣理解:當i=0時,執行i迴圈體一次,j迴圈將從0~9迴圈10次;
當i=1時,執行i迴圈體一次,j迴圈將從0~9迴圈10次;
當i=9時,執行i迴圈體一次,j迴圈將從0~9迴圈10次;
這樣每次執行最內層的a[i][j]=0時,由於i=0~9,j=0~9則可實現對整個a的每個元素的訪問,訪問的順序是:
i=0,j=0,a[i][j]=a[0][0]=0;
i=0,j=1,a[i][j]=a[0][1]=0;
i=0,j=2,a[i][j]=a[0][0]=0;
i=0,j=9,a[i][j]=a[0][9]=0;
i=1,j=0,a[i][j]=a[1][0]=0;
i=1,j=1,a[i][j]=a[1][1]=0;
i=1,j=2,a[i][j]=a[1][0]=0;
i=1,j=9,a[i][j]=a[1][9]=0;
i=9,j=9,a[i][j]=a[9][9]=0;
楊輝三角形就是利用迴圈控制順序訪問陣列各元素的應用,只要你總結出訪問的規律再用迴圈變數來實現即可。
2樓:網友
個人感覺程式語言的學習一定要細心,要始終記住程式設計是人思維的表達,也就是說我們首先知道一件事情怎麼做,才能通過變成高速機器怎麼做。所以在學習的時候,切忌背**,那是徒勞無功的,多從事情解決的步驟去分析,把事情解決的步驟想得儘量細緻,這也是為什麼要先學習偽**,學習演算法的原因。總之一句話,學習程式設計要跳出程式之外,認清問題解決的每個小步驟,程式只是工具。
說了這麼多,希望對你有幫助。
如何學好c語言,有時候上課聽懂下可操作又一大堆問題
3樓:網友
多實踐才行的,否則理論學的再好也是沒有用。
4樓:阿祖隊
先找到每次問題出在什麼地方!記下並改正後多練習!多錯多有宜呀!
5樓:
別急。。。慢慢來~~~多看就會了。
還是有規律可循的o(∩_o哈哈~
6樓:網友
呵呵,c語言的確是個問題啊,不操作是不行的,用c-free 4嘛,很好用的,不懂的多看哈書,問哈老師,希望你的c語言能夠取得進步。。
高中化學聽不懂怎麼辦?上課聽懂了了做題不會是什麼原因
書曉山 高中化學要記的知識比較多而且很零散,就算記住了內容也不一定會做題這就要針對性的進行訓練先把課本上的基礎知識弄懂 月亮糖 還是比較基本的理論,沒有弄明白。上課聽懂了,做題之前再把今天上課的內容複習一下。可以快速的把基礎知識過一過,如果不懂的一定要弄清楚。 現在有很多的參考書,可以找一本解析思路...
上課聽不懂老師講什麼怎麼辦,上課聽不懂老師講的內容怎麼辦?
軒轅沛凝菅丹 如果你想墮落下去就聽知任之,車到山前必有路 想出人頭地的話要麼請教別人,要麼看一些有用的書籍,千萬不要再去聽他的課 既然來了就應該做一些對日後有用的事,不一定非要是學科裡面的書 強烈建議樓主不要放棄自己,學些別的來彌補吧! 樑遠強的收藏本 在我看來,數學就是講方法,講公式,講步驟?還有...
急,老外講英語聽不懂怎麼辦
神聖觸手 很好解釋。因為悉尼講的是澳洲英語嘛,你在國內學的要麼是牛津英語,要麼是美國英語,你當然聽不懂澳洲英語啦!一個英國人到美國讀書連個租房廣告都看不懂,說明什麼?說明雖然都是英語,但各國的語法,發音都有差別!澳洲英語還好,過一段時間一定能聽懂,要是你去印度讀書,那印度英語到死也不可能聽懂 反正我...