1樓:網友
問題多半是陣列越界,或者c陣列太大了需要進行動態分配。
2樓:風若遠去何人留
幾個問題。
輸入的時候scanf("%s",&c[i]);不需要&符號scanf("%s",c[i]);就可以了判斷的時候 不能。
for(j=0;j<1000;j++)而是要for(j=0;j<1000&&c[i][j]!='\0';j++)到字串結束符就可以停止了 多餘的沒必要判斷最後幾個疑問。
1 題目中是否有說明最多100個字串輸入,每個字串最多1000個字元。
如果不是 那麼這種方法會越界。
2 題目中需要只判斷括號的個數嗎?
比如 「(這樣的是yes 還是no呢。
c語言 《 括號配對問題》 結果正確 通不過oj'系統 顯示runtime error
3樓:網友
lz,oj可不是對著樣例程式設計啊。。。括號匹配是用棧的思想數出來的,不是這樣簡單地判斷啊。。
比如[()這樣的你的程式都會輕易地跪掉啊。。。
簡單來講,對和()分別記一組計數器,初始為0,遇到左括號就+1,右括號就-1,在任意一次+-中,如果某個計數器為負,則輸出no並中斷。
當一行判斷結束,如果計數器不為0,則輸出no;如果為0,則這一行正確,輸出yes。
然後再特殊判斷一點:[後面不能是)且(後面不能是],我覺得應該就差不多了。
4樓:瞳影丿
執行是錯誤!!!結果正確?
c語言,本地執行正常,但是oj 上傳後,為什麼會出現runtime error
5樓:傻十三
執行錯誤大半是陣列不夠大,題目中n是記錄條數,且n<=100000,你陣列夠100000嗎?
oj上的runtime error一般會在什麼情況下出現?
6樓:女兒飛
越棧了,比如陣列開的不夠大。
編譯錯誤時compilation error
runtime error (re) :執行時錯誤,這個一般是程式在執行期間執行了非法的操作造成的。以下列出常見的錯誤型別:
access_violation 您的程式想從一些非法的位址空間讀取或向其中寫入內容。一般例如指標、陣列下標越界都會造成這個錯誤的。
array_bounds_exceeded 您的程式試圖訪問乙個超出硬體支援範圍的陣列單元。
float_denormal_operand 進行了乙個非正常的浮點操作。一般是由於乙個非正常的浮點數參與了浮點操作所引起的,比如這個數的浮點格式不正確。
float_divide_by_zero 浮點數除法出現除數為零的異常。
float_overflow 浮點溢位。要表示的數太大,超出了浮點數的表示範圍。
float_underflow 浮點下溢。要表示的數太小,超出了浮點數的表示範圍。
integer_divide_by_zero 在進行整數除法的時候出現了除數為零的異常。
integer_overflow 整數溢位。要表示的數值太大,超出了整數變數的範圍。
stack_overflow 棧溢位。一般是由於無限遞迴或者在函式里使用了太大的陣列變數的原因。
..其他錯誤,包括c++標準庫/stl執行時庫錯誤等,這裡不再舉例。
這個簡單的程式在oj上為什麼提示runtime error?
7樓:網友
不明覺厲啊,哪兒有main函式執行完return 1的,感覺好流弊啊。
做c++ 的oj題時,老是出現runtime error。求大神解答。
8樓:匿名使用者
樓主寫得太麻煩啦沒必要用二維陣列 每場考試讀入一組輸出一組就行啦。貼**已經ac了 註釋也給你寫啦。
#include
#include
using namespace std;
struct stu
bool cmp(stu a,stu b)
if(student[i].score>=g) count++;//計算高於分數線人數。
sort(student,student+n,cmp);//按要求排序,將前count個輸出即可。
cout 9樓:algorithm時代 只需把那幾個陣列給定義在全域性定義域(main函式之前)就行了。 一道c語言oj題目,求餘式組,我用了拓展歐幾里德演算法和中國剩餘定理,但是還是runtime error,求解 10樓:希望村村民 runtime error不是死迴圈,應該是陣列越界、除零異常、指標異常等原因。 如果是杭電oj也可能是棧溢位。 c語言問題!oj系統總是提示 run time error: segmentation fault 11樓:哥們兒會_臭臭 segmentation段錯誤。 a和b的陣列太小了。。 題目中說是小於250位,你直接定250位有點小。 而且你第一位是aa[1]那麼如果輸入的是249位,你最後一位就是aa[249],按照你的程式,還有個回車就是aa[250],而aa的下標是從0-249的,這樣你就出錯了。 這道題你搞個整數256多好啊,再豪放點300更好。(128mb的空間限制呢,可以存128*1024*1024個char,不用白不用) 最好把放在全域性變數,這樣消耗的是堆記憶體,程式在一開始會自動申請一部分空間來存全域性變數。 如果存在函式里,那麼存在了棧上,那麼程式開始的後,如果沒有手動擴棧,空間是一定的,容易棧溢位,就成stack error了。 定義陣列,長度必須是個確定的值,char p n 這樣肯定不對 字元比較,不用strcmp,這個是比較字串的,只用用if p i a 這樣就可以了 str i 是個什麼?看不出來 要看區別直復 接,替換到語句中 制就明白了 1,設有一以下巨集定義 define width 80 define len... include void main else if scanf d b 成立繼續else if a 0 else a等於零結束 printf thank you for d d.a,b printf goodbye n 你的程式能執行啊!輸入的a 0時結束。很少 把 scanf 放 if 裡的 祝你... 輸出結果是 open the door 解釋 char fun char c 中,c a a 則將 c變成對應的小寫字母內 a a 意思就是相應的大寫字母與小容寫字母的差值 能這麼寫是因為和每一個對應的大小寫差值都一樣的 因為abc.在ascii表中是連續的,abc在ascii表中也是連續的。注意 ...C語言題目簡單的題目,C語言簡單題目
c語言的題目
C語言的題目求解