本題目共 10 個測試點,您的程式共通過 8 個測試點。(score:80)
獲得部分分數 80 分。
錯誤訊息如下:
*** 第 1 點 (10%):AC (4ms, 728KB)
*** 第 2 點 (10%):AC (4ms, 740KB)
*** 第 3 點 (10%):AC (4ms, 736KB)
*** 第 4 點 (10%):OLE ((line:2))
您的輸出超過測資的輸出!!(line:2)
您額外輸出了:
只有這樣,我還很確定我根本沒加什麼東西
以下是程式碼
#include<iostream>
using namespace std;
int main() {
string a;
int b,bb;
while(getline(cin,a)){
bb=(a[0]+a[2]*2+a[3]*3+a[4]*4+a[6]*5+a[7]*6+a[8]*7+a[9]*8+a[10]*9)-48*45;
b=bb%11;
if(b==a[12]-48)
cout<<"Right"<<endl;
else if(b==10&&a[12]=='X')
cout<<"Right"<<endl;
else
{
for(int i=0;i<=11;i++)
cout<<a[i];
if(b!=10)
cout<<b<<endl;
else
cout<<"X"<<endl;
}
}
return 0;
}
可以看看是哪裡出問題嗎?
using namespace std;
int main() {
string a;
int b,bb;
while(1){
getline(cin,a);
if(a=="")break;
bb=(a[0]+a[2]*2+a[3]*3+a[4]*4+a[6]*5+a[7]*6+a[8]*7+a[9]*8+a[10]*9)-48*45;
b=bb%11;
if(b==a[12]-48)
cout<<"Right"<<endl;
else if(b==10&&a[12]=='X')
cout<<"Right"<<endl;
else
{
for(int i=0;i<=11;i++)
cout<<a[i];
if(b!=10)
cout<<b<<endl;
else
cout<<"X"<<endl;
}
}
return 0;
}
改這樣就過了
是getline傳回值的問題