C 程式設計問題,求大牛,就當練習了

時間 2022-12-07 04:05:02

1樓:濮方雅

給你個思路吧:用陣列標記其所屬的幫派編號,每次讀入資訊m之後,根據已有的記錄比對,判斷區分是新增合併、老幫派合併、還是重複合併,由此計算幫派數。

具體的:定義陣列p[100],初始化置為1-100,n為幫派數,初始化置為讀入數值;合併次數count計數初始化置為0.

1、讀入一條m資訊的兩個數a,b,判斷p陣列中對應的p[a]、p[b]是否相等, 如果相等,則說明是重複的合併,什麼都不做,繼續讀下一條資訊;

如果不相等,則說明是兩個幫派合成一個大的幫派,迴圈查詢陣列p,把所有等於p[a]的元素,其數值都改為p[b],然後讀取下一條資訊m;count = count +1;

2、重複步驟1,直至讀完所有的資訊,輸出幫派數結果 = n - count,

2樓:廖今

用陣列標記其所屬的幫派編號,每次讀入資訊m之後,根據已有的記錄比對,判斷區分是新增合併、老幫派合併、還是重複合併,由此計算幫派數。

具體的:定義陣列p[100],初始化置為1-100,n為幫派數,初始化置為讀入數值;合併次數count計數初始化置為0.

1、讀入一條m資訊的兩個數a,b,判斷p陣列中對應的p[a]、p[b]是否相等, 如果相等,則說明是重複的合併,什麼都不做,繼續讀下一條資訊;

如果不相等,則說明是兩個幫派合成一個大的幫派,迴圈查詢陣列p,把所有等於p[a]的元素,其數值都改為p[b],然後讀取下一條資訊m;count = count +1;

2、重複步驟1,直至讀完所有的資訊,輸出幫派數結果 = n - count,

C語言程式設計問題1! 2! 3n,C語言程式設計問題 求 1 2 3 n

sum sum f2 i 是在for i 1 i n i 迴圈體內,那麼i是實參,也就是沒執行一次f2 i 就執行一次i!那麼當i取到n的時候這個時候f2 i 就是執行的n!f2函式當中的x是f2函式的形參,那麼這裡的x的值顯然是f1函式中傳遞下來的實參i呀,因為i在for迴圈體內,那麼最後當i達到...

c語言如何限制非法輸入,C語言程式設計問題,求高手解答遇到輸入非法字元時,怎麼處理。

風輕的做法不太完全,在輸入11a22時,會將a之後的捨棄而認為是正確的整形11.fun ch i char getchar sscanf ch,d input printf d input fflush stdin return input 11a11 error 1111 1111 返回1111 ...

c語言問題求詳細註釋,C語言程式設計題,求解答!(要求寫出詳細註釋)

方螢 連結串列這麼簡單,為什麼沒有人理解呢。include include struct node void serach struct node head if p sales q2 sales sum p sales sum加上當前的銷售額 p p link p跳向 下一個結點 輸出資料.pri...