[問題] 兩串數字,凡出現2次以上的數字只印出ꐠ…

看板C_and_CPP (C/C++)作者 (羽球幼幼班)時間16年前 (2009/06/13 17:21), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/3 (看更多)
a[10]={11,23,15,16,78,14,77,34,19,46} b[10]={46,78,22,67,98,99,16,15,64,11} 這兩串數字同樣數字只印出一次,顯示結果要是: 11,23,15,16,78,14,77,34,19,46,22,67,98,99,64 請問要他那樣顯示該如何寫? 想過用兩層迴圈寫:(好像不行) for(i=0;i<10;i++) { for(j=0;j<10;j++) { if(a[i] = = b[j] ) printf.........; } } 小弟想用串列寫多項式相加的程式,但要印出結果遇到上面那種問題,不知道該怎麼做! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.113.69.22

06/13 17:37, , 1F
if(a[i] != b[j] )才對吧- -a
06/13 17:37, 1F

06/13 17:38, , 2F
囧 是我錯了...
06/13 17:38, 2F

06/13 17:40, , 3F
先把a一股腦印出來,再用你的雙for迴圈,搭配 b[i]!=a[j] 時印
06/13 17:40, 3F

06/13 17:40, , 4F
而且是 i=0; i<10; i++ 才對
06/13 17:40, 4F

06/13 17:41, , 5F
應該還要 bool flag = true; 有相等時 false 我也打錯...
06/13 17:41, 5F
※ 編輯: Jyie 來自: 59.113.69.22 (06/13 18:45) 搭配 b[i]!=a[j] 使用,他只能一個跟一個作判斷,這樣就會重複印出了不是嗎! 因為有數種相同數,分別在不同位置上.... 我想過兩多項式相加(串列),先把共同有的次方作相加,並把該次方存入陣列裡, 這樣陣列裡就存有重複出現的的次方並印出來,剩下沒重複的次方沒印出, 問題是我不會 一個數:數個數 作判斷。 也就是說 b[0]:a[i](a陣列所有數) 作判斷,沒有相等就印出! ※ 編輯: Jyie 來自: 59.113.69.22 (06/13 18:55) ※ 編輯: Jyie 來自: 59.113.69.22 (06/13 19:04)

06/13 19:07, , 6F
如果使用第三個陣列 c[]; 然後從a一個個慢慢丟 慢慢比對
06/13 19:07, 6F

06/13 19:07, , 7F
最後再印出c的陣列內容
06/13 19:07, 7F
文章代碼(AID): #1ACs-WWP (C_and_CPP)
文章代碼(AID): #1ACs-WWP (C_and_CPP)