for循環語句嵌套怎么算?ForIFrom1To9ForJFrom0To9If10J+I=J^2-I^2
雖然不知道你用的是什么語言,不過各種語言應該是類似的.在你程序中:如果不用for嵌套而是把語句寫上9遍:LET I=1For J From 0 To 9 If 10J+I=J^2-I^2 Then Print 10J+I End If End For LET I=2For J From 0 To 9 If 10J+I=J^2-I^2 Then Print 10J+I End If End For LET I=3For J From 0 To 9 If 10J+I=J^2-I^2 Then Print 10J+I End If End For 。
LET I=9For J From 0 To 9 If 10J+I=J^2-I^2 Then Print 10J+I End If End For 如此.。
for循環內的嵌套while語句
舉個例子,在for語句里加入了while循環,如果while的條件滿足,則執行下面的語句,然后跳出這個循環,然后執行下一個語句。
boll find=false; //定義一個布爾型的變量,初始值為falsefor(int i=1;i 首先聲明一下:C語言不是很懂。本人在學Java。 根據嵌套for循環語句,最為流行的就是九九乘法表,代碼如下: for(int i=1;i<10;i++) { for(int j=1;j<10;j++) { printf("%d%d",i*j); } printf(\n);//C語言的換行是這么寫的嗎?! } 不知道printf語句寫對了沒?沒有環境編譯。 給您解釋下流程: 第一次for循環,i初始值為1,它進入里面內套的for循環,內套的for循環便開始了,結束后才會繼續回到外面的for語句。 那我們來看里面那個for循環: j從1一直++到9后,程序會看到條件“j<10”時,循環就不再繼續了。就從內套的for循環中跳出來,下一句是換一行,然后“}”表示i=1的這次過程結束了,i++,返回進入下一個循環(即i=2),就這樣,i一直++到9后,因為i<10,所以for循環結束。程序結果就是: 1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9 2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 上面是java語言編譯運行復制過來的:) 一個循環語句的循環體內包含另一個完整的循環結構,稱為循環的嵌套。這種嵌套的過程可以有很多重,一個循環的外面包圍一層循環叫雙重循環,如果一個循環的外面包圍二層循環叫三重循環,…,一個循環的外面包圍三層或三層以上的循環叫多重循環。這種嵌套在理論上來說可以是無限的。 正常情況下:應先執行內層的循環體操作,然后是外層循環。例如:對于雙重循環,內層循環被執行的次數應為:內層次數*外層次數。 三種循環語句while、do…while、for可以互相嵌套,自由組合。外層循環體中可以包含一個或多個內層循環結構,但要注意的是,各循環必須完整包含,相互之間絕對不允許有交叉現象。因此每一層循環體都應該用{}括起來。 例: 求1至1000之間的所有完數(完數是指一個數恰好等于它的因子之和(除自身外),則稱這個數為完數。) main() { int a,j,m; for (a=1;a<=1000;a++) { for (m=0,j=1;j<=a/2;j++) if (!(a%j)) m=m+j; if (m==a) printf("%4d\n",a); } } 程序執行結果: 6 28 496 你的程序有問題, (1)最后一個for循環的“)”不對 (2)是你定義第一個for中的判斷語句i<4,但是第二個for的判斷語句為j<=2-i,當i>2時程序就不運行了。 其它的問題暫時還看不出來,主要是不知道你的程序的目的是什么,是不是要以個正的金字塔?下邊是一個倒金字塔程序你先看看。 // * : 定義控制臺應用程序的入口點。 // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { for(int i=1;i<=5;i++) { for(int t=1;t<=6-i;t++) { printf("* "); } printf("\n"); for(int j=0;j<i;j++) { printf(" "); } } int i; scanf("%d",&i); return 0; } 循環的過程是先執行第一個大循環for(i=0;i 此時scanf語句后面已經沒有語句了,所以程序就會跳上去到第二個循環中,即for(j=0;j(因為在循環嵌套中只有循環體執行完成所以的任務后才執行下面的語句,就是for(j=0;j 要全部執行完畢才能執行后面的語句。即j=4.。 這樣 j 這個循環就結束了。結束后又跳到了第一句。因為第二個for是包含在第一個for 里的。只有第一個for 里包含的語句全部執行完后第一個for就再一次執行i++,i 變成了2,判斷條件i 原理: i=0,j 執行4次,給a[0][0],a[0][1],a[0][2],a[0][3]賦值 i=1,j 執行4次,給a[1][0],a[1][1],a[1][2],a[1][3]賦值 i=2,j 執行4次,給a[2][0],a[2][1],a[2][2],a[2][3]賦值 i=3跳出. 還有不懂再問 FOR語句嵌套
循環的嵌套 定義
for循環的嵌套語句怎么算
c語言 for循環嵌套