ccf-csp isbn号码CCF201312-2 ISBN号码

提交只有80分是为什么(捂脸),难道是评分不允许一个个输入嘛。



#include<iostream>
 using namespace std;
 int main(){
     int a1,a2,a3,a4,a5,a6,a7,a8,a9;
     int sum = 0,t = 0,m = 0;
      a1=getchar();
     getchar();
     a2=getchar();a3=getchar();a4=getchar();
     getchar();
     a5=getchar();a6=getchar();a7=getchar();a8=getchar();a9=getchar();
     getchar();
     t=getchar();
     a1=a1-48;a2=a2-48;a3=a3-48;a4=a4-48;a5=a5-48;a6=a6-48;a7=a7-48;a8=a8-48;a9=a9-48;
     sum = a1*1+a2*2+a3*3+a4*4+a5*5+a6*6+a7*7+a8*8+a9*9;

     m = sum % 11;
     if(m==10) m='X';
    t=t-48;
    if(m==t) cout<<"Right";
    else if(m==88)
        cout<<a1 <<"-"<<a2 <<a3 <<a4 <<"-"<<a5 <<a6 <<a7 <<a8 <<a9 <<"-"<<'X';
    else
    cout<<a1 <<"-"<<a2 <<a3 <<a4 <<"-"<<a5 <<a6 <<a7 <<a8 <<a9 <<"-"<<m;
    return 0; 
 
 }

你这程序好奇怪啊
建议用这个;

#include <iostream>
using namespace std;
int main(){
    string a;
    int i,s=0,j=1;
    cin>>a;
    for (i=0;i<12;i++){
        while (a[i]!='-'){
              s+=(a[i]-'0')*j;j++;
              }
        }
    s%=11;
    if(s==10){
              if (a[12]=='X') {cout<<"Right";return 0;}
              else for (i=0;i<12;i++){cout<<a[i];}cout<<'X';return 0;
              }
    else {
         if
         (s==a[12]-'0') cout<<"Right"; return 0;
         else
         for (i=0;i<12;i++){cout<<a[i];}cout<<s;return 0;}
    return 0;
}