80分 求调

P1055 [NOIP2008 普及组] ISBN 号码

zzxxhg @ 2024-08-06 10:39:55

#include<bits/stdc++.h>
using namespace std;
int main()
{
    char a[100],n=13;
    int b[100],sum=0;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]=='-')
        {
            i--;
            n--;
        }
    } 
    for(int i=1;i<=10;i++)
    {
        b[i]=int(a[i])-48;
    }
    for(int i=1;i<=9;i++)
    {
        sum=sum+b[i]*i;
    }
    if(sum%11==b[10])
    {
        cout<<"Right";
    }
    else if(sum%11==10)
    {
        printf("%d-%d%d%d-%d%d%d%d%d-X",b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9]); 
    }
    else
    {
        printf("%d-%d%d%d-%d%d%d%d%d-%d",b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],sum%11); 
    }
    return 0;
}

by wuzhitong @ 2024-08-06 10:57:53

#include <bits/stdc++.h>
using namespace std;
int a[10],s,c;
string ch;
int main()
{
    cin>>ch;
    for(int i=0;i<12;i++)if(ch[i]!='-')a[c++]=ch[i]-'0';
    for(int i=0;i<9;i++)s+=a[i]*(i+1);
    s%=11;
    if(s==10)
    {
      if(ch[12]=='X')cout<<"Right";
      else
      {
        ch[12]='X';
        cout<<ch;
      }
    }
    else
    {
      if(s==ch[12]-'0')cout<<"Right";
      else
      {
        ch[12]=s+'0';
        cout<<ch;
      }
    }
    return 0;
}

by wuzhitong @ 2024-08-06 10:58:31

求关( QwQ


by zzxxhg @ 2024-08-06 13:26:01

@wuzhitong OK


by zzxxhg @ 2024-08-06 13:27:23

@wuzhitong 已关


|