第四个和第七个点过不去 能告诉我是什么数据吗

P1055 [NOIP2008 普及组] ISBN 号码

chastelove77 @ 2022-04-14 12:03:19

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

by Terrible @ 2022-04-14 15:37:16

@chastelove77

4和7的数据大概是末尾为'X’,且正确的测试点,您的判断少了一重。


by chastelove77 @ 2022-04-14 20:38:48

@Terrible 感谢提醒!


|