全红...

P1055 [NOIP2008 普及组] ISBN 号码

iqiqiqiqiqiqiqiq @ 2022-11-29 17:22:22

#include<iostream>
using namespace std;
int main(){
    char i[14];
    int e;
    cin>>i;
    e=((i[0]-48)+(i[2]-48)*2+(i[3]-48)*3+(i[4]-48)*4+(i[6]-48)*5+(i[7]-48)*6+(i[8]-48)*7+(i[9]-48)*8+(i[10]-48)*9)%11;
    if(i[13]=='X'){
        if(e==10){
            cout<<"Right";
        }else{
            i[13]=e+48;
            cout<<i;
        }
    }else if(i[13]-48==e){
        cout<<"Right";
    }else{
        if(e==10){
            i[13]='X';
            cout<<i;
        }else{
            i[13]=e+48;
            cout<<i;
        }
    }return 0;
}

心态崩了,全红,救命


by AAA404 @ 2022-11-29 17:24:37

#include<bits/stdc++.h>
using namespace std;
int s,cnt,a[100];
string st;
int main()
{
    //freopen(".in","r",stdin);
    //freopen(".out","w",stdout);
    cin>>st; 
    for(int i=0;i<st.length()-1;i++)
    {
        if(st[i]>='0' && st[i]<='9')
        {
            a[++cnt]=st[i]-48;
        }
    }
    for(int i=1;i<=cnt;i++)
    {
        s+=a[i]*i;
    }
    if(s%11==st[st.length()-1]-48 || s%11==10 && st[st.length()-1]=='X')
    {
        cout<<"Right";
    }
    else
    {
        for(int i=0;i<st.length()-1;i++)cout<<st[i];
        if(s%11==10)
        cout<<"X";
        else
        cout<<s%11;
    }
    return 0;
}

给你代码自己对拍吧(主要是你的代码一大串看得我头晕)


by iqiqiqiqiqiqiqiq @ 2022-11-29 17:28:09

@AAA404 你这格挡了分隔符吗?


by AAA404 @ 2022-11-29 17:33:08

@iqiqiqiqiqiqiqiq 请认真理解一下,我的s和st是不一样的,我用a存了所有数字(当然不包括最后一位)


|