[問題] 詢問程式問題

看板C_and_CPP作者 (不想抬頭看星星)時間9年前 (2016/06/14 22:39), 編輯推噓1(104)
留言5則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) orwell dev_c++ 5.11 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) no 問題(Question): 這是online judge解題系統的一個題目 公平大陸上有許多小王國,常常為了爭奪領土而開戰, 但是因為公平大陸上的居民都是非常講究公平的,因此絕對不允許有以多欺少的情形, 所以在開戰之前,他們會先統計兩方的兵力,如果有一方的兵力是比較多的, 則那一方必須撤出部分的兵力,使兩方的兵力相等,你能幫他們完成這項工作嗎? 輸入說明: 第一行有一個正整數 N (1<=N<=10) 代表接下來有幾組資料, 接下來有 N 行,每行有兩個正整數 A、B,代表 A、 B兩方的兵力。 輸出說明: 依照每一組資料,輸出哪一方(A 或 B)必須撤兵,以及要撤出多少兵力, 才能使兩方的兵力相等,如果兩方原本的兵力就相同,則請輸出 0, 每組資料輸出完請換行。 範例輸入:help 2 100 150 160 100 範例輸出 : B 50 A 60 餵入的資料(Input): 如上 預期的正確結果(Expected Output): 我在dev_c++ 都是正確,但不知道為何到judge就會有錯 錯誤結果(Wrong Output): 在 judge的錯誤結果 與正確輸出不相符(line:1) 您的答案為: A 850 正確答案為: B 50 程式碼(Code):(請善用置底文網頁, 記得排版) #include<stdio.h> int main() { int i,n; int a[i],b[i]; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d %d",&a[i],&b[i]); } for(i=0;i<n;i++) { if (a[i]>b[i]) { printf("A "); printf("%d\n",a[i]-b[i]); } else if (a[i]<b[i]) { printf("B "); printf("%d\n",b[i]-a[i]); } else { printf("0\n"); } } } 補充說明(Supplement): 請各位大大指教,感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.155.231 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1465915189.A.AD0.html

06/14 22:47, , 1F
int a[i], b[i] <--- 這行錯
06/14 22:47, 1F

06/15 02:17, , 2F
比較好奇為什麼沒有error有人可以解釋嗎
06/15 02:17, 2F

06/15 15:17, , 3F
這只會有warning,用IDE的話要記得把-Wall打開
06/15 15:17, 3F

06/16 01:18, , 4F
dev c++允許宣告陣列的時候大小可以用變數
06/16 01:18, 4F

06/19 23:14, , 5F
感謝各位大大的指教,小弟懂了~~~
06/19 23:14, 5F
文章代碼(AID): #1NO1SrhG (C_and_CPP)