为什么过不了样例

P1055 [NOIP2008 普及组] ISBN 号码

@[shooting__star](/user/955954) 给个建议,样例不过自己手动模拟下,不要以不会就发帖,发完贴别人给你解答都是别人的,不是你的,手动模拟电脑运行样例不就好了?你别告诉我你这都不会......还有你的码风很清奇...... AC: ```cpp #include<bits/stdc++.h> using namespace std; int b[20];//你这不怕编译出错?还有为啥不定义在外面...... int main() { string a,c=""; cin>>a; int l=0,l1=a.length(); for(int i=0;i<a.length()-1;i++)//你为什么不替换为l1?还有最后一位不能识别进c里面 { if(a[i]!='-') { c+=a[i]; l++;//l肯定是加在里面的啊 } } int ans=0; for(int i=0;i<l;i++) { b[i]=c[i]-'0';//减0不就好了,不用去记编码的,还容易错 b[i]=b[i]*(i+1); ans+=b[i]; } if(a[l1-1]-'0'==ans%11) { cout<<"Right"; } else if(a[l1-1]=='X'&&ans%11==10)//这里不用-48,因为他本身就是X你还减会对就怪了 { cout<<"Right"; } else { for(int i=0;i<l1-1;i++){ cout<<a[i]; } //你输出制表符干嘛? if(ans%11!=10) { cout<<ans%11; } else { cout<<'X'; } } return 0; } ```
by Ace_FutureDream @ 2023-10-29 07:18:47


|