×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
#24343: 一直RE(記憶體區段錯誤)不知道哪裡錯了...
d10932027@gapps.fg.tp.edu.tw
(雯貓)
學校 : 臺北市立第一女子高級中學
編號 : 132566
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [140.122.184.249]
最後登入時間 :
2022-03-22 15:29:44
c084.
00275 - Expanding Fractions
--
UVa
275
| From: [122.116.35.159] | 發表日期 : 2021-02-07 22:46
測試的時候都沒有問題,送出答案後卻一直RE(記憶體區段錯誤),找不到原因...我陣列大小應該設置的很足夠的說...
以下是我的程式碼
#include
<
iostream
>
using
namespace
std;
int
main()
{
long
long
a,b,dig,countdig,times,counter;
int
ans[
10000
] = {};
while
(cin >> a >> b)
{
if
(a ==
0
&& b ==
0
)
{
break
;
}
dig = a;
if
(dig>
10
)
{
while
(dig<b)
{
dig = dig*
10
;
}
dig = dig%b;
}
countdig =
1
;
counter =
0
;
times =
0
;
if
(a == dig)
{
times+=
1
;
counter+=
1
;
}
while
(times!=
2
&& a!=
0
)
{
a = a*
10
;
ans[countdig] = a/b;
a = a%b;
countdig +=
1
;
if
(a == dig)
{
times +=
1
;
}
if
(times ==
1
)
{
counter+=
1
;
}
}
cout <<
"."
;
for
(
int
i=
1
;i<countdig;i++)
{
cout << ans[i];
ans[i] =
0
;
if
((i+
1
)%
50
==
0
)
{
cout << endl;
}
}
cout << endl;
if
(a ==
0
)
{
cout <<
"This expansion terminates."
<< endl;
}
else
{
cout <<
"The last "
<< counter <<
" digits repeat forever."
<< endl;
}
}
return
0
;
}
希望有大神能指出我的錯誤,謝謝~
ZeroJudge Forum