158%11=8???

P1055 [NOIP2008 普及组] ISBN 号码

YSzita @ 2023-07-30 23:11:59

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

by Disjoint_cat @ 2023-07-30 23:21:59

你这代码。。。

if(c>='0' && c<='9'){
    a[b]=(int)c;
}

你这,charint 是用 ASCII 码的,你直接这样必须的 WA 啊

else{
    continue;
}
b++;

你真的不处理 X 的吗?

还有,你 continue 之后 b++; 被跳过了,你这必出死循环啊

else{
    cout<<...<<d;
}

同上。


by YSzita @ 2023-07-31 14:14:19

@Donotplaygame 还在改,只是被气晕了


|