c語言程式疑惑(找高手幫忙解釋程式)

時間 2021-08-11 17:49:52

1樓:大頭

1.為什麼要在定義陣列後就直接輸出printf("array a: \n");這個有什麼意義;

答:意義就是提示下面輸出的資料是陣列 a 的資料

迴圈執行printf("%5d",a[i][j]); 將陣列 a 的全部內容輸出。

2.程式中有兩處for語句巢狀迴圈,為什麼會有兩次?還有就是第一處的for語句巢狀迴圈得出的值,輸到哪兒?第二處的for語句巢狀是不是和第一次都作用一樣,得出都值也一樣?

答:第一個for迴圈是用來輸出陣列 a 的資料;第二個for迴圈是用來輸出

陣列 b 的資料。資料輸出到 dos 介面(就是那個黑色的視窗),

的出的值是不一樣的,b[0][0] == a[0][0],

b[1][0] == a[0][1]

b[2][0] == a[0][2]

b[0][1] == a[1][0]

b[1][1] == a[1][0]

b[2][1] == a[1][0]

仔細觀察,就可以看出不一樣。

3.程式中b[j][i]=a[i][j];語句是把a[i][j]賦給b[j][i]是把j和i對調嗎?還是其他的意思?

,答:程式中b[j][i]=a[i][j];語句是把a[i][j]賦給b[j][i],但不是把 i

和j 對調。

有不明白的地方,可以繼續問,希望對你能有所幫助。c 語言是非常有用的一門語言。

問題補充:

for(k=2;k<6;k++,k++)

這是一個雙重迴圈,當外部迴圈k==2時,k<6 成立,所以執行一次迴圈體後,輸出 s = 15;然後執行 k++,k++;經過兩次自加,這樣k = 4,k < 6成立,所以在執行迴圈體,輸出 k = 10;然後執行k++,k++;這樣k =6,k <6 不成立,推出迴圈。結束

2樓:餘味優秀

1.這句話本身沒什麼含義,只是起提示作用,告訴你下面要輸出的陣列是a

最終輸出結果是

array a:

1 2 3

4 5 6

array b:

1 42 5

3 6如果沒有printf("array a: \n");printf("%5d",b[i][j]);就是下面這樣子,很不直觀.

1 2 3

4 5 6

1 42 5

3 62.本文有4個for語句,前兩個是通過巢狀一一賦值,把a的值轉置賦給b。後兩個是通過兩個for語句將b的值一一輸出.

就前兩個for語句舉例,順序是i=0,j=0、1、2;i=1,j=0、1、2.

3.程式中b[j][i]=a[i][j];意思是通過i,j對調以及for語句對i.j值的迴圈,將a中各值一次轉置賦給b。應該沒有別的意思了。

寫明瞭是

b[0][0]=a[0][0];b[1][0]=a[0][1];b[2][0]=a[0][2];

b[0][1]=a[1][0];b[1][1]=a[1][1];b[2][1]=a[1][2];

這樣就可以捨去前兩個for語句了。

不過還是建議學好for,挺好用的。

3樓:初心必達科技

第一個:

直接輸出array a;這個沒什麼重要意義,只是為了顯示的完整性,方便閱讀者。這裡的a指的不是上面定義的陣列a.

第二個:2個for迴圈是巢狀的,運算順序是先執行第一個for迴圈,然後符合第一個for中的條件之後就去執行第二個for迴圈,當第二個for迴圈執行到不滿足j<=2的時候再回到第一個for迴圈。也就是說第一個for執行一次,第二個for要執行3次。

第一處處for語句巢狀迴圈得出的值,輸到顯示屏,本質上講,只是把a陣列的元素輸出而已,唯一區別就是最後將陣列a和b中的元素對調了,printf("array b: \n");這個以下的for迴圈輸出的雖然表面上是b陣列的元素,實際上卻是a陣列中的元素,因為在上面的for語句中已經將a陣列中的元素賦給b陣列了。

第3個問題:程式中b[j][i]=a[i][j]; 是指把他們不同位置的元素進行對調,比如b[j][i]這個位置儲存的是5,a[i][j]這個位置儲存的是8,則這樣對調之後a,b陣列中的b[j][i]和a[i][j]位置儲存的就都是同一個元素了。既b陣列中的元素都被a陣列中的元素給取代了,但是順序不一樣。

4樓:匿名使用者

1、c語言缺乏圖形介面,所以文字提示很重要(這是你人性化設計的標誌),這個僅僅只是提示下面要顯示的是陣列a: printf("array b: \n");的作用同理;

2、由於是二維陣列,就像矩陣橫豎都要考慮,就像找一個座位一樣,先找在第幾排再找第幾列就找到那個位置了,至於是先找排還是先找列,那要看引數的設定;printf("%5d",a[i][j]);輸出到dos介面啦?!b[j][i]=a[i][j];然後把值依個賦給b陣列這樣b是a的轉置矩陣;大體上一樣,第一次輸出陣列a的所有值,第二次輸出矩陣b

其實這些你把程式執行一下就知道了,實踐是最重要的;

3、是把a矩陣的第i行第j列的值放到b矩陣的第j行第i列;i與j只表示位置關係,他們之間並沒有交換;

幫忙找個c語言程式,重謝,幫忙找個C語言程式,重謝!

請編寫程式,定義一個顧客的結構體型別,其成員為 編號 姓名 商品數量,商品總額 輸入十名顧客的資訊到結構體陣列中,最後統計這十名中購買商品總額最大的顧客,將他的資訊列印輸出。並按照下列各式把資訊存入到customer.txt中 0001 kate 5 822.8 0002 jame 7 2761.9...

求高手幫忙寫個c語言寫的51程式

科技藝術生活 為什麼要用24c02儲存,要求上電回零,即初始化了,那麼24c02不就沒有用了麼,再說了,許多微控制器自帶eeprom 你這用stc15f104 8腳 微控制器就可以了, 超級 在梯形圖中,將y0和y1的常閉觸點分別與對方的線圈串聯,可以保證它們不會同時為on,因此km1和km2的線圈...

高手進來看看C語言c,求高手解釋下 C語言 C 語言 C 語言的區別?及年代背景?

我修改成c語言的了,並且能編譯通過了,可以執行了只是,執行的結果,對不對,我沒有驗證。include include void data double a,int x,int m,int n break case 25 演算法同上 for y i 2 y i 2 y break a i j sum ...