请求各位大神求助,搞不明白为什么,不可以求求了

P1055 [NOIP2008 普及组] ISBN 号码

dsfzzsy @ 2024-09-23 08:03:07


#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main(){
    char a[13];
    int y,z,j;
    y=0;
    j=1;
    cin>>a[0]>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9]>>a[10]>>a[11]>>a[12];
    for(int(i)=0;i<13;i++){
        if(a[i]=='-'){
        continue;
        }
        if(a[i]==a[12])
        break;
        y=y+(a[i]-'0')*j++;
    }
    z=y%11;
    if(z==10){
        if(a[12]=='X')
           cout<<"Right";
        if(a[12]!='X')
           cout<<a[0]<<"-"<<a[2]<<a[3]<<a[4]<<"-"<<a[6]<<a[7]<<a[8]<<a[9]<<a[10]<<"-"<<"X";
    }

    if(z!=10){

        if((a[12]-'0')==z){
            cout<<"Right";
        }
        if((a[12]-'0')!=z){
            cout<<a[0]<<"-"<<a[2]<<a[3]<<a[4]<<"-"<<a[6]<<a[7]<<a[8]<<a[9]<<a[10]<<"-"<<z;
        }
    }
    return 0;
} 

但如果我把cin放入for循环里输入这题就对了```

by I2147483647I @ 2024-10-14 16:14:54

@dsfzzsy 有点看不懂,加个注释吧。


|