用switch case 做的,莫名其妙50分
#include<bits/stdc++.h>
using namespace std;
string n;
int a,b,c,d,e,f,g,h,i;
int ans;
int sum;
int zb(int ans){
if (ans<9) return ans;
if (ans=88) return ans;
}
int main(){
getline(cin,n);
for (int j=0;j<=n.size();j++){
switch(j){
case 0:a=n[j]-'0';break;
case 2:b=n[j]-'0';break;
case 3:c=n[j]-'0';break;
case 4:d=n[j]-'0';break;
case 6:e=n[j]-'0';break;
case 7:f=n[j]-'0';break;
case 8:g=n[j]-'0';break;
case 9:h=n[j]-'0';break;
case 10:i=n[j]-'0';break;
case 12:{
ans=n[j];
if (ans<88) ans = ans-'0';
else ans = ans-0;
break;
}
}
}
sum = a*1+b*2+c*3+d*4+e*5+f*6+g*7+h*8+i*9;
sum%=11;
sum = zb(sum);
if (sum==ans) printf("%s","Right");
else{
ans = sum;
for (int j=0;j<=n.size();j++){
switch(j){
case 0:printf("%d",0);break;
case 1:printf("%c",'-');break;
case 2:printf("%d",b);break;
case 3:printf("%d",c);break;
case 4:printf("%d",d);break;
case 5:printf("%c",'-');break;
case 6:printf("%d",e);break;
case 7:printf("%d",f);break;
case 8:printf("%d",g);break;
case 9:printf("%d",h);break;
case 10:printf("%d",i);break;
case 11:printf("%c",'-');break;
case 12:{
if (ans<9) printf("%d",ans);
else printf("%c",ans);
break;
}
}
}
}
return 0;
}
求更改