80分求调

P1055 [NOIP2008 普及组] ISBN 号码

CHAyou257 @ 2024-08-31 20:54:28

#include<stdio.h>
int main()
{
    char s[14];
    int n[10];
    int i=0,j=0;
    int number=0;
    for (int i=0;i<13;i++)
    {
    scanf("%c",&s[i]);
    }
    for (int i=0;i<13;i++)
    {
        if (i!=1 && i!=5 && i!=11)
        {
            n[j]=s[i]-'0';
            j++;
        }
    }
    for (j=0;j<9;j++)
    {
        number+=n[j]*(j+1);
    }
    number=number%11;
    if (number==10)
    {
        if(s[13]=='X') 
        printf("Right");
     } 
    if (number==n[9])
    {
        printf("Right");
    }else{
         for (i=0;i<12;i++)
        {
        printf("%c",s[i]);
        }
        if (number==10)
        {
            printf("X");
        }
        else printf("%c",number+48);
    }

    return 0;
 } 

by jza110228 @ 2024-08-31 21:09:50

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

@CHAyou257


|