論for迴圈的妙用
for迴圈
具體使用語法是 for ( 開始 ; 判斷 ; 動作 ) \n { 語句 }
有人認為for 迴圈就像一個計數器,他對於迴圈功能的使用僅限於此,而其他迴圈語句例如while除了能滿足for的要求,還能進行其他的迴圈。
但我認為for迴圈具有非常的靈活性,它不僅能用於迴圈次數已經確定的情況,還能用於迴圈次數不確定而只給出迴圈結束條件的情況,我認為它是可以代替while迴圈的。
而且在做題中,我認為for迴圈比其他的迴圈語句更加適合巢狀迴圈,在巢狀迴圈中能有舉足輕重的作用,我認為這是其他迴圈語句做不到的。
例如
乘法口訣表這題
分析:這是一個典型的使用迴圈巢狀的題目。把題目分成兩部分:
被乘數和乘數。被乘數的變化是從1變化到9,乘數的變化是根據被乘數而來。這樣就決定了被乘數的變化做為外迴圈,乘數的變化作為內迴圈。
此題的輸出格式有兩個要求:
按照階梯形狀輸出:用雙重for迴圈可以實現
等號右邊數字佔四位,左對齊:%-4d,其中-表示左對齊,4表示數字佔位個數,d表示整數型別
值得一提的是,這個乘法表的第一位數是按照列增加的,故i在內層,n在外層
#include <stdio.h>
int main()
{
int N;
scanf("%d", &N);
int i, n;
for (n = 1; n <= N; n++)
{ for (i = 1; i <= n; i++)
{ printf("%d*%d=%-4d", i, n, n*i);
}
printf("\n");
}
return 0;
}
從中分析,for (n = 1; n <= N; n++) 是外迴圈
for (i = 1; i <= n; i++)內迴圈
外迴圈負責換行輸出,內迴圈負責橫向輸出。
兩個for迴圈語句分工明確,在該題中的巢狀非常的靈活。
從該題得出,
雙重for迴圈的巢狀十分適合一些輸出菱形的題目
具有其他迴圈不能輕易做到的優勢。
所以,同學們,讓我們將for迴圈用起來,發揚起來,讓我們大喊“for迴圈萬歲!”吧!
我相信,for迴圈一定會對我們的pta做題起到無可代替的作用,
我相信,用了for迴圈,一節更比六節強!
2840,不在話下!