样例过了,但是提交全WA,求指点

P1055 [NOIP2008 普及组] ISBN 号码

为什么有两个点死活过不去??? [不信你看](https://www.luogu.org/record/show?rid=7700348) 源码如下: ```cpp #include<bits/stdc++.h> using namespace std; int main() { int a[5],c1,c2,c3,c4,c5,s=0; cin>>a[1]; getchar(); cin>>a[2]; getchar(); cin>>a[3]; getchar(); char A; scanf("%c",&A); if(A=='x') a[4]=10; else a[4]=int(A-'0'); s+=a[1]; c1=a[2]/100; c2=(a[2]/10)%10; c3=a[2]%10; s=s+c1*2+c2*3+c3*4; c1=a[3]/10000; c2=(a[3]/1000)%10; c3=(a[3]/100)%10; c4=(a[3]/10)%10; c5=a[3]%10; s=s+c1*5+c2*6+c3*7+c4*8+c5*9; s=s%11; if(s==a[4])cout<<"Right"; else { if(s!=10) printf("%d-%d-%d-%d",a[1],a[2],a[3],s); //注意输出“-”,否则会出错!! else printf("%d-%d-%d-X",a[1],a[2],a[3]); } return 0; } ```
by 硫酸钒酰 @ 2018-07-14 19:34:53


我不会c++……
by 笔墨画青衫xyz @ 2018-07-14 21:35:14


@[Max雷](/space/show?uid=84986) !我也是这两个点! ```cpp #include <iostream> using namespace std; int main() { int p=1,sum=0; char a[14]; for(int i=0;i<13;i++){ cin>>a[i]; } for(int i=0;i<=12;i++){ if(a[i]!='-'){ sum+=p*(a[i]-48); p++; } } int o=0; o=(sum%11); if(o ==(a[12]-48)) cout<<"Right"; else if(o!=(a[12]-48)){ if(o==10){a[12]='X';} else a[12]=(o+48); cout<<a; } return 0; } ```
by TanGentLine @ 2018-07-17 14:58:53


@ TanGentLine 经过无数次的调试,我终于明白啦!!!! X是**大写**!
by 硫酸钒酰 @ 2018-08-15 19:31:20


|