[問題] 陣列宣告問題

看板C_and_CPP作者 (QQ)時間8年前 (2017/04/17 17:15), 編輯推噓3(3010)
留言13則, 7人參與, 最新討論串1/2 (看更多)
關於陣列的一個小問題 如果我想要這樣的結果 Enter numbers of points: 5 Enter points: -1 2 3 6 -3 -5 -1 0 10 -24 The points are: (-1.00, 2.00), (3.00, 6.00), (-3.00, -5.00), (-1.00, 0.00), (10.00, -24.00) 我目前是想用二維陣列把數字存起來 像這樣 printf("Enter numbers of points: "); scanf("%d", &n); for(i=0; i<n; i++){ for(j=0; j<2; j++) scanf(" %d", &num[i][j]) for(i=0; i<n; i++){ for(j=0; j<2; j++) printf("%lf", num[i][j]); } 但是這樣數字只能一個一個輸入 如果要像題目一次輸入的話 要怎麼改比較好呢 另外想問像這樣類似的問題 如果輸入n之後才能知道需要的陣列大小 宣告的時候要怎麼宣告呢 我目前是把大小設成一個相對大的數字 但我想應該有更好的方法 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.123.157 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1492420540.A.118.html

04/17 17:20, , 1F
當一個大字串輸入 然後照空白自己劈開轉換
04/17 17:20, 1F

04/17 17:20, , 2F
夠大就好了 1024也可以 不要糾結什麼「最好」的方法
04/17 17:20, 2F

04/17 17:21, , 3F
新手會在這種地方想很久還發明很奇葩的作法
04/17 17:21, 3F

04/17 17:22, , 4F
以前在本版看過一個不斷malloc 一次增加一個byte
04/17 17:22, 4F

04/17 17:22, , 5F
初學階段後可以用其他更方便的資料結構
04/17 17:22, 5F

04/17 17:22, , 6F
如果接受 C99 的話, Variable-length Array 試試看
04/17 17:22, 6F

04/17 17:25, , 7F
如果不行的話 還是可以 malloc 出剛剛好大小的陣列
04/17 17:25, 7F

04/18 07:47, , 8F
讀檔 把檔案重導到標準輸入
04/18 07:47, 8F

04/18 07:49, , 9F
樓上講的方法 or 用 c++ vector or 動態配置
04/18 07:49, 9F

04/18 14:03, , 10F
可以用stl 的話可以用vector of pair
04/18 14:03, 10F

04/18 15:04, , 11F
你的寫法不是就能一次輸入了...?
04/18 15:04, 11F

04/19 02:13, , 12F
空白會自己變成下一個,這樣寫就可以一次導入了,試試
04/19 02:13, 12F

04/19 03:48, , 13F
開夠大的陣列while scanf!=EOF
04/19 03:48, 13F
文章代碼(AID): #1Oz8Uy4O (C_and_CPP)
文章代碼(AID): #1Oz8Uy4O (C_and_CPP)