乙個C 光控門的程式,請高手i幫忙分析下

2025-01-08 01:05:22 字數 2142 閱讀 6810

i=i+1; while(i<=n) i=i*2;分析一下這段程式的時間複雜度 謝謝

1樓:

迴圈的執行次數:<[lnn-ln(i+1)]/ln2,這也是這段程式的時間複雜度。

2樓:網友

就一層迴圈 所以 為 n

int i=0; int k=(i++)+(i++)+(++i)+(++i); 分析執行的實際過程!

3樓:網友

int i=0; int k=(i++)i++)i)+(i);

vc2010結果是8

它是是這樣執行的。

i先自加兩次。

然後i+i+i+i, 2+2+2+2==8最後i再自加兩次。

vc6的結果是3

先計算(i++)i++)就是0+0=0,然後0+(+i)得1,此時i==1,然後1+(+i)==1+2==3

整個表示式完畢後i再自加兩次。

所以結果是什麼完全取決於編譯器是怎麼確定時間點的。

4樓:祭奠曾今的執著

i++表示執行語句後加1,++i表示執行語句前加1.

首先i=0;

然後,k=(i++)時仍為0;

然後,k=(i++)i++)時第乙個(i++)已經執行過了,所以此時第二個(i++)=1;

然後,k=(i++)i++)i)時,此時第乙個(i++)=0,第二個(i++)=1,到第乙個(++i)時,第二個(i++)又執行過了,所以i=2,但是++i表示在執行語句前加1,所以,此時,第乙個(++i)=3;

同理,k=(i++)i++)i)+(i)中第二個(++i)=4;

所以k=0+1+3+4=8;

5樓:網友

++ 操作符是從右向左結合的,也就是在掃瞄表示式時,先計算第二個 ++i,再計算第乙個 ++i,最後計算左邊的第乙個 i++,根據這個做法,從右向左 i 先自加兩次,左邊的兩個 i++ 不在本表示式起作用,因為是先使用 i 的值,使用後再自加,所以在表示式求值前,i=2,最後結果是:

k=2+2+2+2=8

這個語句執行後,i共自加四次,i=4。

6樓:網友

int i=0; int k=(i++)i++)i)+(i);

第一步i++後i=1,就是1+(i++)i)+(i);

第二步i++後,i=2,就是1+2+(+i)+(i);

第三步++i後,i=3,就是1+2+3+(+i);

最後一步++i後,i=4,就是1+2+3+4=10所以k=10

i++)就是i++後的結果,其實就是(i++)和(++i)是一樣的要區分k=i++,k=(i++)k=++i,k=(++i)第乙個和後面三個不一樣,後面三個是一樣的。

7樓:xiaodi小弟

不會有結果的。這是不被承認得。

8樓:網友

從右至左開始。

k=3+2+2+1

結果為k=8

在下面程式中,語句s執行的次數為: for(i=1;i<=n-1;i++) for(j=n;j>=i;j--) s; 請詳細分析下結果是多少/

9樓:笑年

for(i=1;i<=n-1;i++)執行n-1次,當 i=1 時 , for(j=n;j>=i;j--)s 執行n次。

當 i=2時,for(j=n;j>=i;j--)s 執行n-1次。

當i=n-1時,for(j=n;j>=i;j--)s 執行2次共執行 2+3+..n-1+n=n(n+1)/2-1次。

那位大哥能幫我分析下這段c程式: for(j=0;j<9;j++) for(i=0;i<9-j;i++) if(a[i]>a[i+1]) { t=a[i]; a[i]

10樓:匿名使用者

著是冒泡法~第乙個for迴圈是他們比較的次數。

第二個for迴圈是每個數之間的比較。

希望幫到你哈。

光控門是什麼原理,自己家的門怎麼改裝

11樓:網友

必須有個光控元件,燈一照就通電,門就開了。

c語言程式問題高手幫忙,c語言一個程式問題 高手幫忙

c語言是由表示式組成的,a b本身就是個表示式,表示式具有值,大於號是左結合的,就是說從左向右依次比,如果大於關係成立,則這個表示式的值非零 一般是1 如果不成立則此表示式的值為0,a b c的運算順序相當於 a b c就是先求出括號內表示式的值再和c比較,如果成立,同樣還是返回1,否則是0 如果列...

c 請高手幫忙指教一下這個程式的疑問,謝謝

virtual void draw const 0 這裡的void不就是說明無返回型別嘛,我如果在這裡不寫void為什麼就通不過啊?最重要的是,我如果在這裡不用純虛擬函式,而是virtual void draw const 這樣為什麼不可以呢?無返回型別也必須要寫void 這個是普通的格式,純虛擬函...

c語言程式的問題,一個c語言程式的問題

r fun x y x y z 是呼叫你定義的函式 x y x y 對應函式裡的第一個引數 括號裡面是三個表示式 由於c語言的運算是從右向左結合 因此有效引數為x y 13 z 對應函式裡的第二個引數 z 是先將自身的值傳進函式 再進行自減運算 即傳進去的第二個引數為8 r fun 意思是r的值引用...