c語言for的嵌套循環
⑴ c語言for循環嵌套
# include <stdio.h>
int main (void)
{
int i, j;
int a[3][3] = {{1,2,3},{11,12,13},{21,22,23}};
for (i=0; i<3; i++)
{
for (j=0; j<3;j++)
{
printf("%-5d", a[i][j]);
}
printf("\n");
}
return 0;
}
⑵ C語言for循環嵌套講解
循環的過程是先執行第一個大循環for(i=0;i<3;i++),此句中先給i賦值0,在判斷條件i<3是否成立賦值後的i=0了,所以條件成立,成立則做下面一條語句,就是for(j=0;j<4;j++),同樣這個循環還是先賦值j=0,在進行判斷j<4是否成立,成立就再做下一句。
此時scanf語句後面已經沒有語句了,所以程序就會跳上去到第二個循環中,即for(j=0;j<4;j++)這句話中,可能你會問為什麼不是第一句
(因為在循環嵌套中只有循環體執行完成所以的任務後才執行下面的語句,就是for(j=0;j<4;j++)
要全部執行完畢才能執行後面的語句。即j<4條件為假時跳出)跳到for(j=0;j<4;j++)這個循環體以後。就會自動加一,就是執行j++(注:在這個for裡面的j=0不再執行),這個賦值過程只在開始時執行。所以 j 這個循環要執行到條件不滿足時停止,即最後j的值要>=4.。
這樣 j 這個循環就結束了。結束後又跳到了第一句。因為第二個for是包含在第一個for 里的。只有第一個for 里包含的語句全部執行完後第一個for就再一次執行i++,i 變成了2,判斷條件i<3成立,就再執行下一句,所以下面的for(j=0;j<4;j++)又要再一次執行。執行完後就在回到第一個for執行。
原理:
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跳出.
還有不懂再問
⑶ C語言for循環嵌套問題
這個程序沒有你說的問題,但是有其它的問題,修改如下:
//---------------------------------------------------------------------------
#include<stdio.h>
int main()
{
int y[10],a,i,k;
a=0;
printf("請依次輸入10個整數: \n ");
for(i=0;i<=9;i++){
scanf("%d",&y[i]);
}
for(i=0;i<=8;i++)
{ //注意這里
a=y[i]; //注意這里
for(k=i+1;k<=9;k++) if(a>=y[k]){
a=y[k];y[k]=y[i];y[i]=a;
}
} //注意這里
for(i=0;i<=9;i++)
printf("%d ",y[i]);
printf("\n");
return 0;
}
//---------------------------------------------------------------------------
⑷ C語言——循環嵌套(for)
按照你的要求編寫的九九乘法表的C語言程序如下
#include<stdio.h>
intmain()
{
inti,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
printf("%2d*%2d=%2d",i,j,i*j);
}
printf(" ");
}
return0;
}
⑸ 關於C語言中的for循環嵌套
哪裡嵌套了……
#include<stdio.h>
intmain()
{
inti,a[10];
for(i=0;i<=9;i++)a[i]=i;//賦值
for(i=9;i>=0;i--)printf("%d",a[i]);//輸出
return0;
}
⑹ c語言 for循環嵌套
程序思路沒有問題,寫法也沒有問題.修改後程序為:
#include <stdio.h>
void main()
{
int k,j,s;
for(k=2;k<6;k++,k++)
{
s=1;
for(j=k;j<6;j++)
s+=j;
}
printf("%d\n",s);
}
⑺ C語言FOR嵌套循環
自學的啊,太有自製力了,佩服
運行情況見下:
j=0 時,滿足j小於2,進入外層循環
{
k=0,滿足k小於2,進入內層循環
printf("%d%d,j,k") 輸出jk的值00
k增值k變成1
k=1,滿足k小於2,進入內層循環
printf("%d%d,j,k") 輸出jk的值01
k增值k變成2
k=2,不滿足k小於2,不進入內層循環
j增值為1
}
j=1 時,滿足j小於2,進入外層循環
{
k=0,滿足k小於2,進入內層循環
printf("%d%d,j,k") 輸出jk的值10
k增值k變成1
k=1,滿足k小於2,進入內層循環
printf("%d%d,j,k") 輸出jk的值11
k增值k變成2
k=2,不滿足k小於2,不進入內層循環
j增值為2
}
j=2 時,不滿足j小於2,不進入外層循環
程序往下下走
⑻ c語言中for循環嵌套
以for(i=0;i<6;i++)
for(j=0;j<6;j++)為例
首先第一層循環
i=0時,
j分別取值0,1,2,3,4,5
i=1時,
j分別取值0,1,2,3,4,5
.
.
.
i=5時
j分別取值0,1,2,3,4,5
⑼ C語言for循環嵌套是怎麼執行
上面那個是:
第二個for受上面那個的控制,這么跟你說吧,(我用偽碼表示哈),第一層:k=2,4,因為有兩個k++,也就是k+=2;然後第二層:j受每次k值變化的影響,循環次數也不同,但是這個程序中s 的值應該為10,(當k為4的時候,j有兩個值,4和5),因為每次循環過後s的值又回到1,
後面那個printf語句在}的里邊,受循環控制