注意加权方式应为整数
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char a[11]={'1','0','X','9','8','7','6','5','4','3','2'};
int b[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
int maxn=7+9+10+5+8+4+2+1+6+3+7+9+10+5+8+4+2;
//printf("%d\n",maxn);
double w[17];
int n,flag=0;char s[100+10];
//freopen("1031.txt","r",stdin);
scanf("%d",&n);
for(int i=0;i<n;i++)
{
int sum=0;
scanf("%s",s);
int len=strlen(s);
for(int j=0;j<len-1;j++)
{
sum+=(s[j]-'0')*b[j];
}
if(a[sum%11]!=s[len-1])
{
flag=1;
printf("%s\n",s);
}
}
if(!flag) printf("All passed\n");
return 0;
}