1樓:不屑寵兒
如果來第乙個for後面只有一自
個句子就沒區別,如果bai不是就有了
for(int i=0;i<3;i++)
for(int j;j<3;j++)
num++;
num2++; 不加{du
}zhinum2只加一次,
加了的話迴圈
dao3次。
2樓:匿名使用者
第乙個bai:第二個for迴圈是第乙個for迴圈du的zhi子迴圈,在第二個for迴圈後面還能在dao寫乙個語句回歸屬於第二個for迴圈答之後,則其他的語句則不屬於任何乙個for迴圈
第二個:整個大括號都是第乙個for迴圈的語句,即第乙個for每進行加一操作都進行一次大括號裡面的內容。第二個for迴圈則為第乙個for迴圈裡面語句的一部分
3樓:匿名使用者
沒區別,第二個中的 只是強調for迴圈後面的為乙個整體,使得程式的可讀性增強,對機器來說,是一樣的
4樓:
第乙個:後乙個for是前乙個for唯一的子迴圈;
第二個:後乙個for並不是前乙個for唯一的子迴圈,省略號的地方還可以再加第二個子for迴圈,與之並行。
求c語言中for(i=0;i
5樓:
兩個迴圈的次數是一樣多的,都是n-(j+1)次,但在迴圈過程中i的值不一樣
前者是0,1,2 …… n-(j+1)-1後者是j+1,j+2,j+3……n-1
for(i=1;i<=n;++i) for(j=1;j<=n;j++) {c[i][j]=0; for(k=1;k<=n;++k) c[i][j]+=a[i][k]*b[k][j];}
6樓:匿名使用者
先整理一下:
for(i=1;i<=n;++i) // 重複n次,o(n)
for(j=1;j<=n;j++) // 又重複n次, o(n)
// 該括號部分語句工作量為版 o(1+n*1)=o(n)// 總的工作量(複雜度)為o(n * n * n)=o(n³),簡單權的說,並列語句時,工作量相加,涉及到語句的迴圈時,工作量乘迴圈次數,所以一般只要看迴圈多少層就可以了。這裡的第三層語句中工作量實際上不都被忽略了嗎?
氣泡排序中,兩重迴圈是 for (i=0;i
7樓:喧世幽人
for(i = 0; i < n -1; i++) // 比較copy輪數
for(j = n - 1; j > i; j--) // 元素下標
if(a[j] < a[j -1]) // 比較大小
swap(a[j], a[j -1]); // 交換位置
從最後乙個元素開始和前乙個元素比較(注意j的取值),如果比前乙個小,則交換位置。每輪比較都保證前面的元素是有序的,即把小的元素冒泡到最前面,只需要n-1輪(i的取值)即可完成。
8樓:匿名使用者
怎麼不對
你對幾個元素排序的
c語言for(j=1;j<=9;j++) for(i=0;i<=9-j;i++) 這兩句到底咋個迴圈?
9樓:匿名使用者
前面兩個迴圈不解釋,如果前面你都不明白那下面的你不用看了。回去先看看書好了。
for(j=1;j<=9;j++)
for(i=0;i<=9-j;i++)
第一次執行外層迴圈for(j=1;j<=9;j++),j為1,小於等於9,執行迴圈體。然後進入內層迴圈for(i=0;i<=9-j;i++),此時j為1,所以內層迴圈的條件判斷為i小於等於9-1,按照這個條件執行迴圈。當i==9的時候退出內層迴圈,執行外層迴圈第三個表示式,執行後判斷迴圈條件仍然滿足,繼續執行。
此時j為2,內層迴圈j的條件為j<=9-2。按照這個順序完成迴圈的執行。
迴圈執行次數為
外層迴圈執行9次
內層迴圈在外層迴圈第一次執行的時候執行9次,第二次8次 。第三次7 。。。。。。
10樓:樂跑小子
這是乙個雙重迴圈
for(i=0;i<9;i++)
其中for(j=0;j<9;j++)是for(i=0;i<9;i++)的內嵌迴圈
i從0到9,i取乙個值,j就從0取到9,共迴圈9次
11樓:匿名使用者
for(j=1;j<=9;j++)
for(i=0;i<=9-j;i++);前面迴圈9次,每迴圈一次後面的迴圈少一次。 表述的有點不明,你慢慢理解。
想問一下c中 for(i=0;i<5;i++) for(j=0;j<5;j++) 是怎麼迴圈的?
12樓:匿名使用者
我用1代表第乙個for迴圈,2代表第二個for迴圈。
第一次執行1->執行2,直到2不滿足j<5為止->第二次執行1->重頭開始執行2,直到2不滿足j<5為止->第三次執行1->........
也就是說1每執行一次,這裡2要執行5次,直到1不滿足i<5,這兩個迴圈都執行完畢。
13樓:匿名使用者
第乙個for,i=0時,第二個for的j=0,1,2,3,4,迴圈5次。
i=1時,第二個迴圈5次。
i=2。。。。
i=3.。。。。
i=4.。。。。
共迴圈25次
14樓:匿名使用者
雙重迴圈
比如可以輸出乙個5行5列的矩陣
把基礎打好吧
15樓:沉默de獨白
#include
int main()
i=0,j=1;i=0,j=2,i=0,j=3;i=0,j=4;i=1,j=0;i=1,j=2......i=4,j=4
求時間複雜度 x=0; for(i=1;i
16樓:2走著走著就
要求時間複雜度,可以先考慮各語句的頻度
語句1:x=0;
語句2:for(i=1;i 語句3:for(j=1;j<=n-i;j++)語句4:x++; 語句1執行1次; 語句2 中迴圈控制變數i 要增加到n,測試 i=n成立才會終止,故頻度是n+1。但它的迴圈體卻只能執行n次; 語句3作為語句2迴圈體內的語句,應該執行n次,但語句3本身要執行n+1次,所以頻度為n*(n+1); 語句4作為語句3迴圈體內的語句,所以要執行 n的平方 次;故其頻度為 n的平方 次。 故可以算出演算法的執行時間t(n),即所有語句的頻度之和。 時間複雜度 t(n)=o(n的平方) 17樓:匿名使用者 時間複雜度 1.時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測試才能知道。但我們不可能也沒有必要對每個演算法都上機測試,只需知道哪個演算法花費的時間多,哪個演算法花費的時間少就可以了。並且乙個演算法花費的時間與演算法中語句的執行次數成正比例,哪個演算法中語句執行次數多,它花費時間就多。 乙個演算法中的語句執行次數稱為語句頻度或時間頻度。記為t(n)。 2.計算方法 1. 一般情況下,演算法的基本操作重複執行的次數是模組n的某乙個函式f(n),因此,演算法的時間複雜度記做:t(n)=o(f(n)) 分析: 隨著模組n的增大,演算法執行的時間的增長率和f(n)的增長率成正比,所以f(n)越小,演算法的時間複雜度越低,演算法的效率越高。 2. 在計算時間複雜度的時候,先找出演算法的基本操作,然後根據相應的各語句確定它的執行次數,再找出t(n)的同數量級(它的同數量級有以下: 1,log2n ,n ,nlog2n ,n的平方,n的三次方,2的n次方,n!),找出後,f(n)=該數量級,若t(n)/f(n)求極限可得到一常數c,則時間複雜度t(n)=o(f(n)) 例:演算法: for(i=1;i<=n;++i) } 則有 t(n)= n的平方+n的三次方,根據上面括號裡的同數量級,我們可以確定 n的三次方 為t(n)的同數量級 則有f(n)= n的三次方,然後根據t(n)/f(n)求極限可得到常數c 則該演算法的 時間複雜度:t(n)=o(n的三次方) 3.分類 按數量級遞增排列,常見的時間複雜度有: 常數階o(1),對數階o(log2n),線性階o(n), 線性對數階o(nlog2n),平方階o(n2),立方階o(n3),..., k次方階o(nk), 指數階o(2n) 。 隨著問題規模n的不斷增大,上述時間複雜度不斷增大,演算法的執行效率越低 這個會輸出10 break語句跳出迴圈最後i 10,不會再執行i 了 輸出10 當i 10時,程式就跳出for迴圈了。故,i是不會 1的。break跳出的是if語句,還是for迴圈?break 在一些計算機程式語言中是保留字,其作用大多情況下是終止所在層的迴圈。1 break語句對if else的條... label1.text i.tostring 乙個label控制項只能獲得最終的賦值,也就是30你要在乙個控制項上顯示所有的值就得用 int i string str string.empty for i 10 i 30 i 5 去掉最後的那個多餘的,號 str str.substring 0,st... c 的每個變數都是有塊級作用域。所謂的塊級作用域,就是變數在定義它的 專 裡面都是起作用的,舉屬個例子 if int a 4 2 第一層 變數a在第一層,第二次,第三層裡面都有效。變數b在第二次,第三層裡面都有效。變數c,d在第三層裡面都有效。這是區域性變數,只能在迴圈內使用,不是全域性變數,全域性...c語言for中的break i 是迴圈後執行,那break
請問如何在C的標籤中顯示for迴圈的所有結果謝謝
C 中for迴圈內定義變數的使用範圍,及其他情況下定義變數的使用範圍