c語言針對巢狀迴圈的特別方法

2021-10-09 13:38:14 字數 707 閱讀 6944

本文章適合初學c語言的朋友,理不清程式的順序,不知道**插入迴圈或迴圈巢狀冗餘又容易出錯,迴圈結束後不知道怎麼寫,可以用這個套路做參考。

說這個方法之前,程式語言的基本語句,也就是機器語言組合語言要實現順序、判斷、跳轉(loop)這三個基本程式走向才能實現各種各樣的流程,對應c語言的語句就是順序、if語句、迴圈語句。

這個方法的適用場景:寫程式時,我們不知道從**插入迴圈,又在**結束迴圈時或者存在多個巢狀迴圈,不知道怎麼寫。

開始說方法:首先,把思想轉變為用組合語言實現的思想,即只使用順序、判斷、跳轉(loop)來完成實現的邏輯。我們先順序寫,要判斷就寫判斷條件(如x=1),然後接著順序寫一段又遇到判斷,當此時的判斷條件包含前面判斷條件(多於或等於)(如x=1且y=1)時新增乙個跳轉標記,此時兩個判斷語句之間先試著構成乙個迴圈while,while的條件是兩個判斷條件中邏輯最多的那個(如x=1且y=1),此時看這個迴圈是否滿足需求。迴圈結束的條件此時變成3個(4種情況減1,x是否等於1兩種,y是否等於1兩種,總共2乘2,4種情況)即x=1且y!=1,x!=1且y=1,x!=1且y!=1,所以迴圈結束後要分別判斷這三種情況,不需判斷的可以合併。

上面的例子,有些朋友沒用這個方法,第一次寫,可能就會寫成while(x=1)裡面再巢狀個while(x=1&&y=1),顯然錯誤且冗餘,迴圈結束後也不容易處理。

優點:套路,可以節省時間且處理巢狀迴圈時最精簡。

我把這方法命名為「嚴式迴圈處理法」,哈哈。

C語言 巢狀迴圈

改正後的 把i加回原值,結果正確 問題1 min max 和flag的初值應該在 定義,scanf語句要怎麼放?解決辦法 這個問題是我在寫出 後執行測試的時候發現的,明明按照預想我只需要輸入n個數就可以輸出結果,但是執行測試的時候卻要輸入n 1個數才能輸出結果。經過除錯我發現,在內迴圈的最後一次迴圈...

C語言 迴圈的巢狀

1 for語句中嵌入for語句 for 2 for語句嵌入while語句 for 3 for語句中嵌入do while語句 for while 4 while語句中嵌入for語句 while 5 while語句中嵌入while語句 while 6 while語句中嵌入do while語句 while...

C語言中迴圈巢狀的應用

迴圈巢狀可以使複雜的問題結構化,把乙個功能的實現拆分成乙個乙個更小的功能,然後再實現,在此實現的過程中必須要注意結構上的邏輯性和該邏輯的正確性,要保證每乙個小的功能能夠完全正確,最終實現乙個完整的迴圈。1.求sn a aa aaa aaaa aaaaa的前5項之和,其中a是乙個數字 例如 2 22 ...