1樓:窗邊消失的糖
首先我先解釋一下這段程式
ch=w[0]; //把第一個存到ch裡for (j=1;j到最後一個全部往前移一位w[n-1]=ch; //再把ch裡的值存在最後一位(因為是從0開始存,共n個,所以最後一位是n-1)
也就是說這一段程式是把第一個移到最後,剩下的順次向前平移。
而最外面那個for則是把這個操作重複p遍,於是前p位就被順次平移到了最後
好了,開始回答問題
1)不能,因為每次平移完之後的w[0]都不一樣,比如 1 2 3 4 5 ch=w[0]=1平移一次之後 2 3 4 5 1 ch=w[0]=2平移二次之後 3 4 5 1 2 ch=w[0]=32)不對,應為這個for是往後移,所以是要把所有的都往後移一位,再重複p遍
3)已經解釋過了,自己看上面
2樓:匿名使用者
題目有點不清楚,是平移一位,一直到最後。還是空出當前陣列的位置,把當前陣列的元素加到原陣列後邊?
c語言for(j=1;j<=9;j++) for(i=0;i<=9-j;i++) 這兩句到底咋個迴圈?
3樓:匿名使用者
前面兩個迴圈不解釋,如果前面你都不明白那下面的你不用看了。回去先看看書好了。
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 。。。。。。
4樓:樂跑小子
這是一個雙重迴圈
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次
5樓:匿名使用者
for(j=1;j<=9;j++)
for(i=0;i<=9-j;i++);前面迴圈9次,每迴圈一次後面的迴圈少一次。 表述的有點不明,你慢慢理解。
c語言中for(i=1,j=3;(j<5)‖(i>3);i++,j++)代表什麼意思?
6樓:傅鬆蘭機凰
這是一個for迴圈
bai,du第一次進入迴圈時初始化zhii=1並且j=3並判斷是否滿足兩個
dao分號中間的那個判版斷條件
權即(j<5)||(i>3)這是一個或語句只要滿足一個為真則條件就為真,最後迴圈疊加,在for語句執行完後為i和j都增加1
不知道明白沒有,可以追問
請問在c語言中1ll的意義,請問在c語言中1LL的意義
這個ll是long long int的意思,就是長長整型,c99標準的新東西。1ll也就是長長整型的1。c語言中的printf scanf sprintf sscanf等函式中需要用格式字串來控制資料的輸出格式。比如 printf lx 65535 將65535輸出為十六進位制格式 輸入引數 lx ...
在c語言中a為什麼是合法的,在c語言中 a 1 為什麼是合法的
是取地址符,是取地址裡面的內容的符號,a 1 相當於一個指標 即陣列元素a 1 的地址 a 1 當然是取地址 a 1 裡面的內容了,就是a 1 的值。c語言裡就是合法的,按照優先順序進行 相當與 a 1 因為在c語言中,du 代表獲取地址zhi的dao內容,代表獲取地址,然後根據運 內算符的優先順序...
c語言中怎麼表示除法,C語言中怎麼表示除法
5處以2這樣寫 5 2結果是取整數的也就是等於2 是除法取餘數好好看看數吧 c語言中除號用 表示,相應的,乘號用 表示 a b 表示a除以b,但是需要注意,當a b均為整形時,運算為求出不大於商的最大整數,如10 7 1,5 2 2,13 4 3 相對應,a b表示求a除以b的餘數 如果要實數除法,...